Пример #1
0
            public override QModelIndex Parent(QModelIndex child)
            {
                string start = "Parent of " + this.SerializeModelIndex(child) + " requested";

                if (!child.IsValid())
                {
                    m_Log.Debug(start + " (answer: empty).");
                    return(new QModelIndex());
                }

                SolutionItem childItem  = child.InternalPointer() as SolutionItem;
                SolutionItem parentItem = childItem.Parent;

                if (parentItem == this.m_RootItem || parentItem == null)
                {
                    // FIXME: This can cause weirdness with broken trees as the root node
                    // will be placed under folders if the structure is incorrect!
                    m_Log.Debug(start + " (answer: empty).");
                    return(new QModelIndex());
                }

                QModelIndex result = this.CreateIndex(parentItem.Index, 0, parentItem);

                m_Log.Debug(start + " (answer: " + this.SerializeModelIndex(result) + ").");
                return(result);
            }
Пример #2
0
            public override QModelIndex Index(int row, int column, QModelIndex parent)
            {
                string start = "Index at " + row + ", " + column + " requested with parent " + this.SerializeModelIndex(parent) + "";

                if (!this.HasIndex(row, column, parent))
                {
                    m_Log.Debug(start + " (answer: empty).");
                    return(new QModelIndex());
                }

                SolutionItem parentItem;

                if (!parent.IsValid())
                {
                    parentItem = this.m_RootItem;
                }
                else
                {
                    parentItem = parent.InternalPointer() as SolutionItem;
                }

                SolutionItem childItem = parentItem[row];

                if (childItem != null)
                {
                    QModelIndex model = this.CreateIndex(row, column, childItem);
                    m_Log.Debug(start + " (answer: " + this.SerializeModelIndex(model) + ").");
                    return(model);
                }
                else
                {
                    m_Log.Debug(start + " (answer: empty).");
                    return(new QModelIndex());
                }
            }
Пример #3
0
    public override uint Flags(QModelIndex index)
    {
        if (!index.IsValid())
        {
            return((uint)Qt.ItemFlag.ItemIsEnabled);
        }

        return((uint)(Qt.ItemFlag.ItemIsEnabled | Qt.ItemFlag.ItemIsSelectable));
    }
Пример #4
0
 public override int ColumnCount(QModelIndex parent)
 {
     if (parent.IsValid())
     {
         return(((TreeItem)parent.InternalPointer()).ColumnCount());
     }
     else
     {
         return(rootItem.ColumnCount());
     }
 }
Пример #5
0
            public override uint Flags(QModelIndex index)
            {
                m_Log.Debug("Flags of " + this.SerializeModelIndex(index) + " requested.");

                if (!index.IsValid())
                {
                    return(0);
                }

                return((uint)(ItemFlag.ItemIsEnabled | ItemFlag.ItemIsSelectable));
            }
Пример #6
0
            private string SerializeModelIndex(QModelIndex index)
            {
                if (index == null)
                {
                    return("<null>");
                }
                else if (!index.IsValid())
                {
                    return("<invalid>");
                }

                return("<valid>");
                //return "(" + this.SerializeModelIndex(index.Parent()) + ", " + index.Row() + ", " + index.Column() + ")";
            }
Пример #7
0
    public override int RowCount(QModelIndex parent)
    {
        TreeItem parentItem;

        if (!parent.IsValid())
        {
            parentItem = rootItem;
        }
        else
        {
            parentItem = (TreeItem)parent.InternalPointer();
        }

        return(parentItem.ChildCount());
    }
Пример #8
0
    public override QVariant Data(QModelIndex index, int role)
    {
        if (!index.IsValid())
        {
            return(new QVariant());
        }

        if (role != (int)Qt.ItemDataRole.DisplayRole)
        {
            return(new QVariant());
        }

        TreeItem item = (TreeItem)index.InternalPointer();

        return(item.Data(index.Column()));
    }
Пример #9
0
 void on_mucTree_activated(QModelIndex index)
 {
     if (index.IsValid())
     {
         if (index.InternalPointer() is BookmarkConference)
         {
             Account            account = (Account)index.Parent().InternalPointer();
             BookmarkConference conf    = (BookmarkConference)index.InternalPointer();
             try {
                 account.JoinMuc(conf.JID, conf.Password);
             } catch (UserException e) {
                 QMessageBox.Critical(this.TopLevelWidget(), "Synapse", e.Message);
             }
         }
     }
 }
Пример #10
0
    public override QModelIndex Parent(QModelIndex index)
    {
        if (!index.IsValid())
        {
            return(new QModelIndex());
        }

        TreeItem childItem  = (TreeItem)index.InternalPointer();
        TreeItem parentItem = childItem.Parent();

        if (parentItem == rootItem)
        {
            return(new QModelIndex());
        }

        return(CreateIndex(parentItem.Row(), 0, parentItem));
    }
Пример #11
0
        public override object Data(QModelIndex index, int role = 0)
        {
            if (role == (int)Qt.ItemDataRole.DisplayRole || role == (int)Qt.ItemDataRole.EditRole)
            {

                if (index.Column == 0)
                {
                    return list[index.Row].Code;
                }
                else if(index.Column == 1)
                {
                    return list[index.Row].Name;
                }
            }

            return null;
        }
Пример #12
0
        public override QVariant Data(QModelIndex index, int role)
        {
            object item = index.InternalPointer();

            if (role == (int)Qt.ItemDataRole.DisplayRole)
            {
                if (item is Account)
                {
                    return(((Account)item).Jid.Bare);
                }
                else if (item is BookmarkConference)
                {
                    BookmarkConference conf = (BookmarkConference)item;
                    return(String.Format("{0} ({1})", conf.ConferenceName, conf.JID));
                }
            }
            return(new QVariant());
        }
Пример #13
0
            public override QVariant Data(QModelIndex index, int role)
            {
                string start = "Data of " + this.SerializeModelIndex(index) + " requested with role " + role;

                if (!index.IsValid())
                {
                    m_Log.Debug(start + " (answer: empty).");
                    return(new QVariant());
                }

                if (role != (int)ItemDataRole.DisplayRole && role != (int)ItemDataRole.DecorationRole)
                {
                    m_Log.Debug(start + " (answer: empty).");
                    return(new QVariant());
                }

                if (index.Column() == 0)
                {
                    if (role == (int)ItemDataRole.DisplayRole)
                    {
                        m_Log.Debug(start + " (answer: \"" + (index.InternalPointer() as SolutionItem).Text + "\").");
                        return((index.InternalPointer() as SolutionItem).Text);
                    }
                    else if (role == (int)ItemDataRole.DecorationRole)
                    {
                        string key = (index.InternalPointer() as SolutionItem).ImageKey;
                        System.Drawing.Image image = this.m_ExplorerTool.m_LinuxImageList[key];
                        if (image == null)
                        {
                            m_Log.Error("No association icon found for image key '" + key + "'.");
                        }
                        else
                        {
                            m_Log.Debug(start + " (answer: <qicon>).");
                            return(LinuxImageList.ConvertToQIcon(image));
                        }
                    }
                }

                m_Log.Debug(start + " (answer: empty).");
                return(new QVariant());
            }
Пример #14
0
            public override int RowCount(QModelIndex parent)
            {
                string start = "Row count of " + this.SerializeModelIndex(parent) + " requested";

                SolutionItem parentItem;

                if (parent.Column() > 0)
                {
                    m_Log.Debug(start + " (answer: 0).");
                    return(0);
                }

                if (!parent.IsValid())
                {
                    parentItem = this.m_RootItem;
                }
                else
                {
                    parentItem = parent.InternalPointer() as SolutionItem;
                }

                m_Log.Debug(start + " (answer: " + parentItem.Count + ").");
                return(parentItem.Count);
            }
Пример #15
0
    public override QModelIndex Index(int row, int column, QModelIndex parent)
    {
        TreeItem parentItem;

        if (!parent.IsValid())
        {
            parentItem = rootItem;
        }
        else
        {
            parentItem = (TreeItem)parent.InternalPointer();
        }

        TreeItem childItem = parentItem.Child(row);

        if (childItem != null)
        {
            return(CreateIndex(row, column, childItem));
        }
        else
        {
            return(new QModelIndex());
        }
    }
 /// <remarks>
 ///  Reimplemented to show unavailable devices as disabled (but still
 ///  selectable).
 ///              </remarks>        <short>    Reimplemented to show unavailable devices as disabled (but still  selectable).</short>
 public uint Flags(QModelIndex index)
 {
     return((uint)interceptor.Invoke("flags#", "flags(const QModelIndex&) const", typeof(uint), typeof(QModelIndex), index));
 }
 public QVariant Data(QModelIndex index)
 {
     return((QVariant)interceptor.Invoke("data#", "data(const QModelIndex&) const", typeof(QVariant), typeof(QModelIndex), index));
 }
 /// <remarks>
 ///  Returns data from the item with the given <pre>index</pre> for the specified
 ///  <pre>role</pre>.
 ///  If the view requests an invalid index, an invalid variant is
 ///  returned.
 ///  Reimplemented from QAbstractItemModel.
 ///  \see QAbstractItemModel.Data
 ///  \see Qt.ItemDataRole
 ///              </remarks>        <short>    Returns data from the item with the given \p index for the specified  \p role.</short>
 public QVariant Data(QModelIndex index, int role)
 {
     return((QVariant)interceptor.Invoke("data#$", "data(const QModelIndex&, int) const", typeof(QVariant), typeof(QModelIndex), index, typeof(int), role));
 }
 // void setModelData(const QList<QExplicitlySharedDataPointer<Phonon::ObjectDescriptionData> >& arg1); >>>> NOT CONVERTED
 // QList<QExplicitlySharedDataPointer<Phonon::ObjectDescriptionData> > modelData(); >>>> NOT CONVERTED
 // QExplicitlySharedDataPointer<Phonon::ObjectDescriptionData> modelData(const QModelIndex& arg1); >>>> NOT CONVERTED
 /// <remarks>
 ///  Returns the number of rows in the model. This value corresponds
 ///  to the size of the list passed through setModelData.
 ///  \param parent The optional <pre>parent</pre> argument is used in most models to specify
 ///  the parent of the rows to be counted. Because this is a list if a
 ///  valid parent is specified the result will always be 0.
 ///  Reimplemented from QAbstractItemModel.
 ///  \see QAbstractItemModel.RowCount
 ///              </remarks>        <short>    Returns the number of rows in the model.</short>
 public int RowCount(QModelIndex parent)
 {
     return((int)interceptor.Invoke("rowCount#", "rowCount(const QModelIndex&) const", typeof(int), typeof(QModelIndex), parent));
 }
 public bool RemoveRows(int row, int count, QModelIndex parent)
 {
     return((bool)interceptor.Invoke("removeRows$$#", "removeRows(int, int, const QModelIndex&)", typeof(bool), typeof(int), row, typeof(int), count, typeof(QModelIndex), parent));
 }
 public bool DropMimeData(Phonon.ObjectDescriptionType type, QMimeData data, Qt.DropAction action, int row, int column, QModelIndex parent)
 {
     return((bool)interceptor.Invoke("dropMimeData$#$$$#", "dropMimeData(Phonon::ObjectDescriptionType, const QMimeData*, Qt::DropAction, int, int, const QModelIndex&)", typeof(bool), typeof(Phonon.ObjectDescriptionType), type, typeof(QMimeData), data, typeof(Qt.DropAction), action, typeof(int), row, typeof(int), column, typeof(QModelIndex), parent));
 }
 /// <remarks>
 ///  Moves the item at the given <pre>index</pre> down. In the resulting list
 ///  the items at index.row() and index.row() + 1 are swapped.
 ///  Connected views are updated automatically.
 ///              </remarks>        <short>    Moves the item at the given \p index down.</short>
 public void MoveDown(QModelIndex index)
 {
     interceptor.Invoke("moveDown#", "moveDown(const QModelIndex&)", typeof(void), typeof(QModelIndex), index);
 }
Пример #23
0
 public override int RowCount(QModelIndex parent)
 {
     return list.Count;
 }
Пример #24
0
 public override QModelIndex Parent(QModelIndex child)
 {
     return CreateIndex(-1, -1);
 }
Пример #25
0
            public override int ColumnCount(QModelIndex parent)
            {
                m_Log.Debug("Column count of " + this.SerializeModelIndex(parent) + " requested (answer: 1).");

                return(1);
            }
Пример #26
0
 public override int ColumnCount(QModelIndex parent)
 {
     return 2;
 }