Esempio n. 1
0
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()));
}
Esempio n. 2
0
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()));
        ;
    }
}
Esempio n. 3
0
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;
}
Esempio n. 4
0
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;
}
Esempio n. 5
0
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;
}
Esempio n. 6
0
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;
}
Esempio n. 8
0
SemaphoreProxy SemaphoreSet::getSemaphore(size_t semIndex)
{
	validateIndex(semIndex);
	return SemaphoreProxy(*this, semIndex);
}
Esempio n. 9
0
void SemaphoreSet::signal(size_t semIndex)
{
	validateIndex(semIndex);
	if (semOperation(_semId, semIndex, 1) == -1)
		throw IpcError("SemaphoreSet::signal(): semop() failed", errno);
}
Esempio n. 10
0
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;
}
Esempio n. 11
0
bool FilterTable::setData(const QModelIndex &index, const QVariant &value, int role) {
    if(!validateIndex(index))
        return false;
}