Ejemplo n.º 1
0
 public void addChildRow(VirtualGridRow row)
 {
     if (!ChildRows.Contains(row))
     {
         ChildRows.Add(row);
         row.ParentRow = this;
     }
 }
Ejemplo n.º 2
0
 public VirtualGridCell(VirtualTreeList grid, VirtualGridRow row, VirtualGridHeaderColumn headercolumn, object data)
 {
     HeaderColumn = headercolumn;
     Row = row;
     Grid = grid;
     Data = data;
     Changed = false;
     CustomOption = String.Empty;
 }
Ejemplo n.º 3
0
 public VirtualGridCell(VirtualTreeList grid, VirtualGridRow row, VirtualGridHeaderColumn headercolumn, object data)
 {
     HeaderColumn = headercolumn;
     Row          = row;
     Grid         = grid;
     Data         = data;
     Changed      = false;
     CustomOption = String.Empty;
 }
Ejemplo n.º 4
0
        /// <summary>
        /// load data from inputdocumet
        /// </summary>
        /// <param name="inputdocument"></param>
        public virtual void loadData(XmlDocument inputdocument)
        {
            XmlNodeList rows = inputdocument.SelectNodes("//row");

            foreach (XmlNode nd in rows)
            {
                VirtualGridRow row = this.newRow(); //TODO rename to NewRow ?

                if ((nd.Attributes["customoption"] != null) && (!String.IsNullOrEmpty(nd.Attributes["customoption"].Value)))
                {
                    row.CustomOption = nd.Attributes["customoption"].Value;
                }

                XmlNodeList columns = nd.SelectNodes(".//column");
                foreach (XmlNode nd2 in columns)
                {
                    object data       = null;
                    String columnname = nd2.SelectSingleNode("name").InnerText;
                    String columndata = nd2.SelectSingleNode("data").InnerText;

                    if (columnname == null)
                    {
                        throw new Exception("columnname is null");
                    }

                    //Console.WriteLine("col" + columnname);
                    VirtualGridHeaderColumn header = getHeaderByName(columnname);
                    if ((OnGetData == null) && (header != null) && (!String.IsNullOrEmpty(header.ColumnType)))
                    {
                        Type tp = Type.GetType(header.ColumnType);
                        data = Convert.ChangeType(columndata, tp);
                    }
                    else
                    {
                        if (OnGetData != null)
                        {
                            OnGetData(columnname, columndata, out data);
                        }
                        else
                        {
                            data = columndata;
                        }
                    }
                    if (data == null)                     //TODO correct ??
                    {
                        throw new Exception("data is null");
                    }

                    VirtualGridCell cell = row.addGridColumn(columnname, data);
                    if (cell != null)
                    {
                        cell.CustomOption = XmlHelper.getAttributeValue(nd2, "customoption");
                    }
                }
            }
        }
Ejemplo n.º 5
0
        /// <summary>
        /// creates a new row and add's it to the grid
        /// </summary>
        /// <returns>
        /// The row.
        /// </returns>
        public virtual VirtualGridRow newRow()
        {
            if (Rows == null)
            {
                Rows = new List <VirtualGridRow>(1000);
            }

            VirtualGridRow row = new VirtualGridRow(this);

            addRow(row);
            return(row);
        }
Ejemplo n.º 6
0
 /// <summary>
 /// Adds a row to the grid
 /// </summary>
 /// <param name='row'>
 /// Row.
 /// </param>
 protected virtual void addRow(VirtualGridRow row)
 {
     Rows.Add(row);
 }
Ejemplo n.º 7
0
        private int getColumnIndex(VirtualGridRow row, string columnName)
        {
            int i = 0;

            foreach (VirtualGridHeaderColumn hc in row.Grid.HeaderColumns)
            {
                if (hc.ColumnName.Equals(columnName,StringComparison.OrdinalIgnoreCase))
                {
                    return i;
                }
                i++;
            }

            //            foreach (VirtualGridCell c in row.Cells)
            //            {
            //                if (c.HeaderColumn.ColumnName.Equals(columnName,StringComparison.OrdinalIgnoreCase))
            //                {
            //                    return i;
            //                }
            //                i++;
            //            }
            return -1;
        }
Ejemplo n.º 8
0
 protected override void addRow(Sharpend.Utils.VirtualGridRow row)
 {
     base.addRow(row);
 }
Ejemplo n.º 9
0
 /*
 public void addChild(VirtualTreeRow row)
 {
     Children.Add(row);
     row.Parent = this;
 }
 */
 /*
 private bool containsItem(String nodevalue)
 {
     foreach(VirtualTreeRow row in Children)
     {
         if (row.NodeValue == nodevalue)
         {
             return true;
         }
     }
     return false;
 }
 */
 private void addData(String nodename, String nodevalue, VirtualGridHeaderColumn headercolumn,VirtualGridRow baserow)
 {
     if ((!String.IsNullOrEmpty(nodevalue)) &&  (!children.ContainsKey(nodevalue)))
     {
         VirtualTreeRow tr = new VirtualTreeRow(Grid, headercolumn.ColumnName, nodevalue);
         tr.HeaderColumn = headercolumn; //TODO in constructor
         tr.Parent = this;
         tr.BaseRow = baserow;
         Children.Add(nodevalue,tr);
     }
 }
Ejemplo n.º 10
0
 /// <summary>
 /// called after row.setData to inform a derived grid about changes
 /// </summary>
 /// <param name='row'>
 /// Row.
 /// </param>
 /// <param name='columnName'>
 /// Column name.
 /// </param>
 /// <param name='data'>
 /// Data.
 /// </param>
 public virtual void afterSetData(VirtualGridRow row, String columnName, object data)
 {
 }
Ejemplo n.º 11
0
 /// <summary>
 /// only used to override it in a derived class
 /// </summary>
 /// <param name="row"></param>
 /// <param name="columnName"></param>
 /// <param name="data"></param>
 public virtual void setData(VirtualGridRow row, String columnName, String data)
 {
     row.setData(columnName, data);
 }
Ejemplo n.º 12
0
 public virtual void selectRow(VirtualGridRow row)
 {
 }
Ejemplo n.º 13
0
 public virtual bool removeRow(VirtualGridRow row)
 {
     return Rows.Remove(row);
 }
Ejemplo n.º 14
0
        /// <summary>
        /// creates a new row and add's it to the grid
        /// </summary>
        /// <returns>
        /// The row.
        /// </returns>
        public virtual VirtualGridRow newRow()
        {
            if (Rows == null)
            {
                Rows = new List<VirtualGridRow>(1000);
            }

            VirtualGridRow row = new VirtualGridRow(this);
            addRow(row);
            return row;
        }
Ejemplo n.º 15
0
 /// <summary>
 /// called after row.setData to inform a derived grid about changes
 /// </summary>
 /// <param name='row'>
 /// Row.
 /// </param>
 /// <param name='columnName'>
 /// Column name.
 /// </param>
 /// <param name='data'>
 /// Data.
 /// </param>
 public virtual void afterSetData(VirtualGridRow row, String columnName, object data)
 {
 }
Ejemplo n.º 16
0
 public override void setData(Sharpend.Utils.VirtualGridRow row, string columnName, string data)
 {
     base.setData(row, columnName, data);
 }
Ejemplo n.º 17
0
 public virtual void selectRow(VirtualGridRow row)
 {
 }
Ejemplo n.º 18
0
 /// <summary>
 /// only used to override it in a derived class
 /// </summary>
 /// <param name="row"></param>
 /// <param name="columnName"></param>
 /// <param name="data"></param>
 public virtual void setData(VirtualGridRow row, String columnName, String data)
 {
     row.setData(columnName, data);
 }
Ejemplo n.º 19
0
 /// <summary>
 /// Adds a row to the grid
 /// </summary>
 /// <param name='row'>
 /// Row.
 /// </param>
 protected virtual void addRow(VirtualGridRow row)
 {
     Rows.Add(row);
 }
Ejemplo n.º 20
0
 public virtual bool removeRow(VirtualGridRow row)
 {
     return(Rows.Remove(row));
 }
Ejemplo n.º 21
0
        //        public override void setData(VirtualGridRow row, string columnName, string data)
        //        {
        //            base.setData(row, columnName, data);
        //
        ////            Gtk.TreeIter iter;
        ////            if (getIter(row, out iter))
        ////			{
        ////	            int cnt = getColumnIndex(row, columnName);
        ////	            if (cnt > -1)
        ////	            {
        ////	                Tree.Model.SetValue(iter, cnt, data);
        ////	            }
        ////			} else
        ////			{
        ////				//ts.AppendValues(row.Datas);
        ////				(Tree.Model as Gtk.TreeStore).AppendValues(row.Datas);
        ////			}
        //        }
        /// <summary>
        ///  called after row.setData to inform a derived grid about changes 
        /// </summary>
        /// <param name='row'>
        ///  Row. 
        /// </param>
        /// <param name='columnName'>
        ///  Column name. 
        /// </param>
        /// <param name='data'>
        ///  Data. 
        /// </param>
        public override void afterSetData(VirtualGridRow row, string columnName, object data)
        {
            base.afterSetData (row, columnName, data);

            if (data == null)
            {
                throw new Exception("data is null");
            }

            Gtk.TreeIter iter;
            if (getIter(row, out iter))
            {
                int cnt = getColumnIndex(row, columnName);
                if (cnt > -1)
                {
                    Tree.Model.SetValue(iter, cnt, data);
                }
            } else
            {
                //ts.AppendValues(row.Datas);
                if (Tree.Model == null)
                {
                    Tree.Model = getTreeStore();
                }

                (Tree.Model as Gtk.TreeStore).AppendValues(row.Datas);
            }
        }
Ejemplo n.º 22
0
 /// <summary>
 /// removes the row from the grid and the treemodel
 /// </summary>
 /// <param name="row"></param>
 /// <returns></returns>
 public override bool removeRow(VirtualGridRow row)
 {
     Gtk.TreeStore ts = Tree.Model as Gtk.TreeStore;
     if (ts != null)
     {
         Gtk.TreeIter iter;
         if (getIter(row, out iter))
         {
             ts.Remove(ref iter);
             return base.removeRow(row);
         }
     }
     return false;
 }
Ejemplo n.º 23
0
        /*
         * public void addChild(VirtualTreeRow row)
         * {
         *      Children.Add(row);
         *      row.Parent = this;
         * }
         */

        /*
         * private bool containsItem(String nodevalue)
         * {
         *      foreach(VirtualTreeRow row in Children)
         *      {
         *              if (row.NodeValue == nodevalue)
         *              {
         *                      return true;
         *              }
         *      }
         *      return false;
         * }
         */

        private void addData(String nodename, String nodevalue, VirtualGridHeaderColumn headercolumn, VirtualGridRow baserow)
        {
            if ((!String.IsNullOrEmpty(nodevalue)) && (!children.ContainsKey(nodevalue)))
            {
                VirtualTreeRow tr = new VirtualTreeRow(Grid, headercolumn.ColumnName, nodevalue);
                tr.HeaderColumn = headercolumn;                 //TODO in constructor
                tr.Parent       = this;
                tr.BaseRow      = baserow;
                Children.Add(nodevalue, tr);
            }
        }
Ejemplo n.º 24
0
        public bool getIter(VirtualGridRow row, out Gtk.TreeIter iter)
        {
            if (TreeIterators != null)
            {
                if (TreeIterators.ContainsKey(row))
                {
                    iter = TreeIterators[row];
                    return true;
                }
            }

            TreeIterators = new Dictionary<VirtualGridRow, Gtk.TreeIter>(1000);

            if (Tree.Model == null)
            {
                return false;
            }

            Tree.Model.Foreach(new Gtk.TreeModelForeachFunc(foreachItem));
            if (TreeIterators != null)
            {
                if (TreeIterators.ContainsKey(row))
                {
                    iter = TreeIterators[row];
                    return true;
                }
            }
            iter = Gtk.TreeIter.Zero;
            return false;
        }
Ejemplo n.º 25
0
        //        void HandleButtonPressed (object sender, ButtonEventArgs e)
        //        {
        //            if (e.MultiplePress == 2)
        //            {
        //                TreeView tv = sender as TreeView;
        //
        //                TreePosition tp = tv.SelectedRow;
        //                TreeNavigator tn = DataStore.GetNavigatorAt (tp);
        //                //SetValue(tn,new object[] { true },"System.Boolean");
        //
        //                //SetValue(tn,
        //
        //                SetValue(tn,new object[] {Fields[2].Field,true},"System.Boolean");
        //
        //
        //                //Tree.Columns[0].Views[0]
        //            }
        //        
        //        }
        public override void afterSetData(VirtualGridRow row, string columnName, object data)
        {
            base.afterSetData (row, columnName, data);

            if (data == null)
            {
                throw new Exception("data is null");
            }

            TreeNavigator tn = GetNavigator(row);
            if (tn != null)
            {
                SetValue(tn,columnName,data);
            }
        }
Ejemplo n.º 26
0
        public override void selectRow(VirtualGridRow row)
        {
            Tree.Selection.Mode = Gtk.SelectionMode.Single;

            Tree.Selection.UnselectAll();

            Gtk.TreeIter iter;
            if (getIter(row,out iter))
            {
                Tree.Selection.SelectIter(iter);
                Gtk.TreePath[] sel = Tree.Selection.GetSelectedRows();
                if (sel.Length > 0)
                {
                    Gdk.Rectangle rect = Tree.GetCellArea(sel[0], Tree.Columns[0]);
                    Tree.ScrollToPoint(rect.X, rect.Y);
                }

            }
        }
Ejemplo n.º 27
0
        private TreeNavigator GetNavigator(VirtualGridRow row,TreeNavigator parent=null)
        {
            TreeNavigator first = null;
            if (parent != null)
            {
                first = parent;
            } else
            {
                first = DataStore.GetFirstNode();
            }

            if (first.CurrentPosition != null)
            {
                do
                {
                    VirtualGridRow o = (VirtualGridRow)GetValue(first,"row");

                    if (o == row)
                    {
                        return first;
                    }

                    if (first.MoveToChild())
                    {
                        TreeNavigator tn = GetNavigator(row,first);
                        if (tn != null)
                        {
                            return tn;
                        }
                        first.MoveToParent();
                    }

                } while(first.MoveNext());
            }

            return null;
        }
Ejemplo n.º 28
0
 /// <summary>
 /// 
 /// </summary>
 /// <param name="row"></param>
 public RowChangedEventArgs(VirtualGridRow row, String columnName)
     : base()
 {
     ChangedRow = row;
     ColumnName = columnName;
 }
Ejemplo n.º 29
0
 public void addChildRow(VirtualGridRow row)
 {
     if (!ChildRows.Contains(row))
     {
         ChildRows.Add(row);
         row.ParentRow = this;
     }
 }