void OnValueCellEdited(CellRendererText cell, Gtk.EditedArgs args, Services.TextResources textResources)
        {
            _filter.GetIter(out TreeIter iter, new TreePath(args.Path));

            string key = (string)_filter.GetValue(iter, 0);

            textResources.SaveValue(key, args.NewText);
        }
Ejemplo n.º 2
0
        private void TreePackets_SelectionChanged(object sender, EventArgs _)
        {
            ClearInfoPanel();

            if (!_treePackets.Selection.GetSelected(out var selected))
            {
                return;
            }

            var pkt = new Value();

            _treeFilterPackets.GetValue(selected, 0, ref pkt);
            var packet = (PacketInfo)pkt.Val;

            if (packet.Message == null)
            {
                return;
            }

            if (packet.PacketInteraction != null)
            {
                SetInfoPanelInteractionDump(packet.PacketInteraction);
            }
            else
            {
                SetInfoPanelJsonDump(packet.Message);
            }
        }
Ejemplo n.º 3
0
        void ToggleCell_Toggled(object o, ToggledArgs args)
        {
            TreeIter iter;

            if (filter.GetIterFromString(out iter, args.Path))
            {
                var t = (Task)filter.GetValue(iter, 0);
                t.IsDone = !t.IsDone;
                tasksList.SetValue(FindTask(t, tasksList), 1, t.IsDone);   // NotImplementedException workaround
                TaskManager.Instance.AddTask(t);
            }
        }
 public void SelectItem(string id)
 {
     Gtk.TreeIter iter;
     if (filterModel.GetIterFirst(out iter))
     {
         do
         {
             var t = (TemplateItem)filterModel.GetValue(iter, 0);
             if (t.Template.Id == id)
             {
                 Selection.SelectIter(iter);
                 return;
             }
         } while (filterModel.IterNext(ref iter));
     }
 }
Ejemplo n.º 5
0
        bool GetSelectedCommandIter(out TreeIter iter, out Command cmd)
        {
            TreeSelection sel = keyTreeView.Selection;

            if (!sel.GetSelected(out iter))
            {
                cmd = null;
                return(false);
            }

            cmd = (Command)filterModel.GetValue(iter, commandCol);
            if (cmd == null)
            {
                return(false);
            }

            if (keyStore.GetIterFirst(out iter) && FindIterForCommand(cmd, iter, out iter))
            {
                return(true);
            }

            throw new Exception("Did not find command in underlying model");
        }
Ejemplo n.º 6
0
        private TreeIter FindSource(string name, TreeIter iter)
        {
            do
            {
                var source = filter.GetValue(iter, 0) as ISource;
                if (source != null && source.Name == name)
                {
                    return(iter);
                }

                TreeIter citer;
                if (filter.IterChildren(out citer, iter))
                {
                    var yiter = FindSource(name, citer);
                    if (!yiter.Equals(TreeIter.Zero))
                    {
                        return(yiter);
                    }
                }
            } while (filter.IterNext(ref iter));

            return(TreeIter.Zero);
        }
Ejemplo n.º 7
0
 protected object GetValueFromPath(TreePath path)
 {
     Gtk.TreeIter iter;
     modelFilter.GetIter(out iter, path);
     return(modelFilter.GetValue(iter, 0));
 }
Ejemplo n.º 8
0
        public void RebuildTable()
        {
            if ((null == model) || (null == items) || (null == table))
            {
                iFolderViewGroup.log.Info("NULL Reference Exception: Object, model is -{0}-items is-{1}-table is -{2}-", model, items, table);
                return;                 // prevent null pointer exception
            }

            int numOfItems = model.IterNChildren();

            if (numOfItems > 0)
            {
                int availableWidth = currentWidth
                                     - (int)(contentVBox.BorderWidth * 2)
                                     - (int)(table.BorderWidth * 2);

                int numOfColumns = availableWidth / ItemMaxWidth;
                if (numOfColumns < 1)
                {
                    numOfColumns = 1;                           // Force at least one column
                }
                int numOfRows = numOfItems / numOfColumns;
                if ((numOfItems % numOfColumns) > 0)
                {
                    numOfRows++;
                }

                bFirstTableBuild = false;

                ///
                /// Clear out the old items
                ///
                items.Clear();

                foreach (Widget w in table.Children)
                {
                    table.Remove(w);
                    w.Destroy();
                }

                table.Resize((uint)numOfRows, (uint)numOfColumns);

                int currentRow    = 0;
                int currentColumn = 0;

                TreeIter iter;
                if (model.GetIterFirst(out iter))
                {
                    do
                    {
                        iFolderHolder holder = (iFolderHolder)model.GetValue(iter, 0);
                        if (holder != null)
                        {
                            iFolderViewItem item = new iFolderViewItem(holder, this, iter, ItemMaxWidth);
                            if (null == item)
                            {
                                iFolderViewGroup.log.Info("NULL Reference Exception: Object item is NULL");
                                return;                                 //prevent null pointer exception
                            }

                            table.Attach(item,
                                         (uint)currentColumn, (uint)currentColumn + 1,
                                         (uint)currentRow, (uint)currentRow + 1,
                                         AttachOptions.Shrink | AttachOptions.Fill,
                                         0, 0, 0);

                            // Save off the item so we can quickly reference it later
                            TreePath path = model.GetPath(iter);
                            items[path.ToString()] = item;

                            // Register for the click events
                            item.LeftClicked +=
                                new EventHandler(OnItemLeftClicked);
                            item.RightClicked +=
                                new EventHandler(OnItemRightClicked);
                            item.DoubleClicked +=
                                new EventHandler(OnItemDoubleClicked);

                            currentColumn = ((currentColumn + 1) % numOfColumns);
                            if (currentColumn == 0)
                            {
                                currentRow++;
                            }
                        }
                    } while (model.IterNext(ref iter));
                }

                table.ShowAll();
            }
            else
            {
                items.Clear();
                foreach (Widget w in table.Children)
                {
                    table.Remove(w);
                    w.Destroy();
                }
            }
        }