package main import ( "github.com/therecipe/qt/core" ) // Model Roles const ( PaneName = int(core.Qt__UserRole) + 1<= len(m.Panes()) { return core.NewQVariant() } var p = m.Panes()[index.Row()] switch role { case PaneName: { return core.NewQVariant14(p.Name) } case MsgModel: { return p.Model.ToVariant() } default: { return core.NewQVariant() } } } func (m *PaneModel) rowCount(parent *core.QModelIndex) int { return len(m.Panes()) } func (m *PaneModel) columnCount(parent *core.QModelIndex) int { return 1 } func (m *PaneModel) roleNames() map[int]*core.QByteArray { return m.Roles() } func (m *PaneModel) addPane(p *Pane) { m.BeginInsertRows(core.NewQModelIndex(), len(m.Panes()), len(m.Panes())) m.SetPanes(append(m.Panes(), p)) m.EndInsertRows() } func (m *PaneModel) removePane(row int) { m.BeginRemoveRows(core.NewQModelIndex(), row, row) m.SetPanes(append(m.Panes()[:row], m.Panes()[row+1:]...)) m.EndRemoveRows() } func init() { PaneModel_QRegisterMetaType() Pane_QRegisterMetaType() }