QVariant FilterTable::filterAt(const QModelIndex &index) const { if(!validateIndex(index)) return qVariantFromValue(NULL); if(index.column() > table.size() || index.row() > table.at(index.column())->size()) return qVariantFromValue(NULL); qVariantFromValue(table.at(index.column())->at(index.row())); }
QVariant FilterTable::data(const QModelIndex &index, int role) const { if(!validateIndex(index)) return QVariant(); void *fptr = NULL; switch(role) { case Qt::DisplayRole: ; fptr = FT_FILTER(index.column(),index.row()); if(fptr == NULL) { } ; case Qt::DecorationPropertyRole: ;; case Qt::EditRole: ;; case Qt::ToolTipRole: ;; case Qt::StatusTipRole: ;; case Qt::WhatsThisRole: ;; case Qt::SizeHintRole: ;; case FT_FILTERPTR: return qVariantFromValue(FT_FILTER(index.column(),index.row())); ; } }
Boolean ArrayList_set(ArrayList * list, int index, void * value) { if(!validateIndex(list, index)) return false; void * destPoint = list->array + (index * list->defaultSize); memcpy(destPoint, value, list->defaultSize); return true; }
bool FilterTable::insertRows(int row, int count, const QModelIndex &parent) { if(!validateIndex(parent)) return false; beginInsertRows(parent, row, row+count-1); for(int pos = row; pos < row+count; ++pos) table.at(parent.column())->insert(pos, NULL); endInsertRows(); return true; }
bool SemaphoreSet::tryWait(size_t semIndex) { validateIndex(semIndex); if (semOperation(_semId, semIndex, -1, IPC_NOWAIT) == -1) { if (errno == EAGAIN) return false; else throw IpcError("SemaphoreSet::tryWait(): semop() failed", errno); } else return true; }
bool FilterTable::removeRows(int row, int count, const QModelIndex &parent) { if(!validateIndex(parent)) return false; beginRemoveRows(parent, row, row+count-1); /* remove items from list */ for(int pos = row; pos < row+count; ++pos) table.at(parent.column())->removeAt(pos); /* truncate the list, if gaps have been left */ if((row + count) < table.at(parent.column())->size()) for(int pos = row+count; pos < table.at(parent.column())->size(); ++pos) table.at(parent.column())->move(pos, pos-count); endInsertRows(); return true; }
/** * The Rexx stub for the Queue PUT method. replaces the Array * version because it has slightly different semantics for index * validation. The only valid indexes are those within range * and the size is not adjusted for a put out of bounds. * * @param arguments The array of all arguments sent to the * method (variable arguments allowed * here...the first argument is the item being * added, all other arguments are the index). * @param argCount The number of arguments in the method call. * * @return Always return nothing. */ RexxObject *QueueClass::putRexx(RexxObject *value, RexxObject *index) { requiredArgument(value, ARG_ONE); // make sure we have an index specified before trying to decode this. requiredArgument(index, ARG_TWO); // Validate the index argument, but don't allow expansion. size_t position; if (!validateIndex(&index, 1, ARG_TWO, IndexAccess, position)) { reportException(Error_Incorrect_method_index, index); } // we can only update assigned items, so make sure this is within bounds. checkInsertIndex(position); // set the new value and return nothing put(value, position); return OREF_NULL; }
SemaphoreProxy SemaphoreSet::getSemaphore(size_t semIndex) { validateIndex(semIndex); return SemaphoreProxy(*this, semIndex); }
void SemaphoreSet::signal(size_t semIndex) { validateIndex(semIndex); if (semOperation(_semId, semIndex, 1) == -1) throw IpcError("SemaphoreSet::signal(): semop() failed", errno); }
Qt::ItemFlags FilterTable::flags(const QModelIndex &index) const { if(validateIndex(index)) return Qt::ItemIsSelectable | Qt::ItemIsEditable | Qt::ItemIsEnabled | Qt::ItemIsDragEnabled | Qt::ItemIsDropEnabled; return Qt::NoItemFlags; }
bool FilterTable::setData(const QModelIndex &index, const QVariant &value, int role) { if(!validateIndex(index)) return false; }