Пример #1
0
void SimSet::write(Stream &stream, U32 tabStop, U32 flags)
{
   MutexHandle handle;
   handle.lock(mMutex);

   // export selected only?
   if((flags & SelectedOnly) && !isSelected())
   {
      for(U32 i = 0; i < size(); i++)
         (*this)[i]->write(stream, tabStop, flags);

      return;

   }

   stream.writeTabs( tabStop );
   char buffer[ 2048 ];
   const U32 bufferWriteLen = dSprintf( buffer, sizeof( buffer ), "new %s(%s) {\r\n", getClassName(), getName() && !( flags & NoName ) ? getName() : "" );
   stream.write( bufferWriteLen, buffer );
   writeFields( stream, tabStop + 1 );

   if(size())
   {
      stream.write(2, "\r\n");
      for(U32 i = 0; i < size(); i++)
      {
         SimObject* child = ( *this )[ i ];
         if( child->getCanSave() )
            child->write(stream, tabStop + 1, flags);
      }
   }

   stream.writeTabs(tabStop);
   stream.write(4, "};\r\n");
}
Пример #2
0
void SimComponent::write(Stream &stream, U32 tabStop, U32 flags /* = 0 */)
{
   MutexHandle handle;
   handle.lock(mMutex); // When this goes out of scope, it will unlock it

   // export selected only?
   if((flags & SelectedOnly) && !isSelected())
   {
      for(U32 i = 0; i < mComponentList.size(); i++)
         mComponentList[i]->write(stream, tabStop, flags);

      return;
   }

   stream.writeTabs(tabStop);
   char buffer[1024];
   dSprintf(buffer, sizeof(buffer), "new %s(%s) {\r\n", getClassName(), getName() ? getName() : "");
   stream.write(dStrlen(buffer), buffer);
   writeFields(stream, tabStop + 1);

   if(mComponentList.size())
   {
      stream.write(2, "\r\n");

      stream.writeTabs(tabStop+1);
      stream.writeLine((U8 *)"// Note: This is a list of behaviors, not arbitrary SimObjects as in a SimGroup or SimSet.\r\n");

      for(U32 i = 0; i < mComponentList.size(); i++)
         mComponentList[i]->write(stream, tabStop + 1, flags);
   }

   stream.writeTabs(tabStop);
   stream.write(4, "};\r\n");
}
Пример #3
0
bool Q3DataBrowser::updateCurrent()
{
    if (isReadOnly())
        return false;
    QSqlRecord* buf = d->frm.record();
    Q3SqlCursor* cur = d->cur.cursor();
    if (!buf || !cur)
        return false;
    writeFields();
    emit beforeUpdate(buf);
    int ar = cur->update();
    if (!ar || !cur->isActive()) {
        handleError(cur->lastError());
        refresh();
        updateBoundary();
    } else {
        refresh();
        d->cur.findBuffer(cur->primaryIndex());
        updateBoundary();
        cur->editBuffer(true);
        cursorChanged(Q3SqlCursor::Update);
        readFields();
        return true;
    }
    return false;
}
Пример #4
0
void HeaderRecord::write(std::ostream& out)
{
    StringVector fields;
    fields.push_back(HEADER_TAG);

    // Check for mandatory tags
    if(!m_versionTag.isInitialized())
    {
        std::cerr << "Error: Header version tag not set, aborting." << std::endl;
        exit(EXIT_FAILURE);
    }
    else
    {
        fields.push_back(m_versionTag.toTagString(VERSION_TAG));
    }

    if(m_errorRateTag.isInitialized())
        fields.push_back(m_errorRateTag.toTagString(ERROR_RATE_TAG));

    if(m_overlapTag.isInitialized())
        fields.push_back(m_overlapTag.toTagString(OVERLAP_TAG));
    
    if(m_infileTag.isInitialized())
        fields.push_back(m_infileTag.toTagString(INPUT_FILE_TAG));
    
    if(m_containmentTag.isInitialized())
        fields.push_back(m_containmentTag.toTagString(CONTAINMENT_TAG));
    
    if(m_transitiveTag.isInitialized())
        fields.push_back(m_transitiveTag.toTagString(TRANSITIVE_TAG));

    writeFields(out, fields);
}
Пример #5
0
bool Q3DataBrowser::deleteCurrent()
{
    if (isReadOnly())
        return false;
    QSqlRecord* buf = d->frm.record();
    Q3SqlCursor* cur = d->cur.cursor();
    if (!buf || !cur)
        return false;
    writeFields();
    int n = cur->at();
    emit beforeDelete(buf);
    int ar = cur->del();
    if (ar) {
        refresh();
        updateBoundary();
        cursorChanged(Q3SqlCursor::Delete);
        if (!cur->seek(n))
            last();
        if (cur->isValid()) {
            cur->editBuffer(true);
            readFields();
        } else {
            clearValues();
        }
        return true;
    } else {
        if (!cur->isActive()) {
            handleError(cur->lastError());
            refresh();
            updateBoundary();
        }
    }
    return false;
}
Пример #6
0
static void writeAnn(struct gff3Ann *g3a, FILE *fh)
/* write an annotation record to the specified file */
{
writeFields(g3a, fh);
fputc('\t', fh);
writeAttrs(g3a, fh);
fputc('\n', fh);
}
Пример #7
0
void EdgeRecord::write(std::ostream& out)
{
    StringVector fields;
    fields.push_back(EDGE_TAG);
    std::stringstream ss;
    ss << m_overlap;
    fields.push_back(ss.str());
    writeFields(out, fields);
}
Пример #8
0
void OSBChunkBlockElement::write(void)
{
    OSG_OSB_LOG(("OSBChunkBlockElement::write\n"));

    if(getContainer() == NULL)
    {
        FWARNING(("OSBChunkBlockElement::write: Attempt to write NULL.\n"));
        return;
    }

    BinaryWriteHandler *wh = editRoot()->getWriteHandler();

    wh->putValue(getFCPtrType(getContainer()));
    wh->putValue(getVersion()                );
 
    ChunkBlock *pCBlock = dynamic_cast<ChunkBlock *>(getContainer());

    if(pCBlock != NULL)
    {
        _mfSlots.clear();
        
        ChunkBlock::MFChunksType::const_iterator cIt  = 
            pCBlock->getMFChunks()->begin();
        ChunkBlock::MFChunksType::const_iterator cEnd = 
            pCBlock->getMFChunks()->end();
        
        UInt32 cIdx = 0;

        for(; cIt != cEnd; ++cIt, ++cIdx)
        {
            if(*cIt != NULL)
            {
                UInt32 uiId  = (*cIt)->getId();
                Int32  iSlot = cIdx - (*cIt)->getClassId();

                if(iSlot != -1)
                {
                    uiId |= iSlot << 24;
                }

                _mfSlots.push_back(uiId);
            }
        }

        writeFieldHeader("chunks", 
                         "MFUnrecStateChunkPtr", 
                         _mfSlots.size() * sizeof(UInt32));

        BinaryWriteHandler *wh = editRoot()->getWriteHandler();
        
        _mfSlots.copyToBin(*wh);
    }

    writeFields("'chunks'", true);
}
Пример #9
0
void VertexRecord::write(std::ostream& out)
{
    StringVector fields;
    fields.push_back(VERTEX_TAG);
    fields.push_back(m_id);
    fields.push_back(m_seq);

    if(m_substringTag.isInitialized())
        fields.push_back(m_substringTag.toTagString(SUBSTRING_TAG));

    writeFields(out, fields);
}
Пример #10
0
void
OSBGeometryElement::write(void)
{
    OSG_OSB_LOG(("OSBGeometryElement::write\n"));

    BinaryWriteHandler *wh = editRoot()->getWriteHandler();

//    wh->putValue(getFCPtrType(getContainer()));
    wh->putValue(getVersion());

    writeFields("", true);
}
Пример #11
0
bool Q3DataBrowser::currentEdited()
{
    QSqlRecord* buf = d->frm.record();
    Q3SqlCursor* cur = d->cur.cursor();
    if (!buf || !cur)
        return false;
    if (!cur->isActive() || !cur->isValid())
        return false;
    writeFields();
    for (int i = 0; i < cur->count(); ++i) {
        if (cur->value(i) != buf->value(i))
            return true;
    }
    return false;
}
Пример #12
0
bool QSqlForm::qt_invoke( int _id, QUObject* _o )
{
    switch ( _id - staticMetaObject()->slotOffset() ) {
    case 0: readField((QWidget*)static_QUType_ptr.get(_o+1)); break;
    case 1: writeField((QWidget*)static_QUType_ptr.get(_o+1)); break;
    case 2: readFields(); break;
    case 3: writeFields(); break;
    case 4: clear(); break;
    case 5: clearValues(); break;
    case 6: clearValues((bool)static_QUType_bool.get(_o+1)); break;
    default:
	return QObject::qt_invoke( _id, _o );
    }
    return TRUE;
}
int Q3DataView::qt_metacall(QMetaObject::Call _c, int _id, void **_a)
{
    _id = QWidget::qt_metacall(_c, _id, _a);
    if (_id < 0)
        return _id;
    if (_c == QMetaObject::InvokeMetaMethod) {
        switch (_id) {
        case 0: refresh((*reinterpret_cast< QSqlRecord*(*)>(_a[1]))); break;
        case 1: readFields(); break;
        case 2: writeFields(); break;
        case 3: clearValues(); break;
        }
        _id -= 4;
    }
    return _id;
}
bool Foam::Cloud<ParticleType>::writeObject
(
    IOstream::streamFormat fmt,
    IOstream::versionNumber ver,
    IOstream::compressionType cmp
) const
{
    if (this->size())
    {
        writeFields();
        return cloud::writeObject(fmt, ver, cmp);
    }
    else
    {
        return true;
    }
}
void
OSBNameElement::write(void)
{
    OSG_OSB_LOG(("OSBNameElement::write\n"));

    if(getContainer() == NULL)
    {
        FWARNING(("OSBNameElement::write: Attempt to write NULL.\n"));
        return;
    }

    BinaryWriteHandler *wh = editRoot()->getWriteHandler();

    wh->putValue(getFCPtrType(getContainer()));
    wh->putValue(getVersion()                );

    writeFields("", true);
}
void SimDataBlock::write(Stream &stream, U32 tabStop, U32 flags)
{
   // Only output selected objects if they want that.
   if((flags & SelectedOnly) && !isSelected())
      return;

   stream.writeTabs(tabStop);
   char buffer[1024];

   // Client side datablocks are created with 'new' while
   // regular server datablocks use the 'datablock' keyword.
   if ( isClientOnly() )
      dSprintf(buffer, sizeof(buffer), "new %s(%s) {\r\n", getClassName(), getName() ? getName() : "");
   else
      dSprintf(buffer, sizeof(buffer), "datablock %s(%s) {\r\n", getClassName(), getName() ? getName() : "");

   stream.write(dStrlen(buffer), buffer);
   writeFields(stream, tabStop + 1);

   stream.writeTabs(tabStop);
   stream.write(4, "};\r\n");
}
Пример #17
0
bool QDataBrowser::insertCurrent()
{
    if ( isReadOnly() )
	return FALSE;
    QSqlRecord* buf = d->frm.record();
    QSqlCursor* cur = d->cur.cursor();
    if ( !buf || !cur )
	return FALSE;
    writeFields();
    emit beforeInsert( buf );
    int ar = cur->insert();
    if ( !ar || !cur->isActive() ) {
	handleError( cur->lastError() );
	refresh();
	updateBoundary();
    } else {
	refresh();
	d->cur.findBuffer( cur->primaryIndex() );
	updateBoundary();
	cursorChanged( QSqlCursor::Insert );
	return TRUE;
    }
    return FALSE;
}
Пример #18
0
void ProDef::writeVolatile(FILE *destFile, uint32_t tabCount) const
{
	writeFields(destFile, tabCount);
	writeMethods(destFile, tabCount);
}
Пример #19
0
void SimPersistSet::write( Stream& stream, U32 tabStop, U32 flags )
{
   if( ( flags & SelectedOnly ) && !isSelected() )
      return;
      
   // If the selection is transient, we cannot really save it.
   // Just invoke the default SimObject::write and return.
      
   if( !getCanSave() )
   {
      Con::errorf( "SimPersistSet::write - transient set being saved: %d:%s (%s)",
         getId(), getClassName(), getName() );
      Parent::write( stream, tabStop, flags );
      return;
   }
   
   // If there are unresolved PIDs, give resolving them one last
   // chance before writing out the set.
   
   if( !mUnresolvedPIDs.empty() )
      resolvePIDs();
   
   // Write the set out.

   stream.writeTabs( tabStop );
   
   StringBuilder buffer;
   buffer.format( "new %s(%s", getClassName(), getName() ? getName() : "" );
   
   // Write the persistent IDs of all child objects into the set's
   // object constructor so we see them passed back to us through
   // processArguments when the object gets read in.
   
   const U32 numChildren = size();
   for( U32 i = 0; i < numChildren; ++ i )
   {
      SimObject* child = at( i );
      
      SimPersistID* pid = child->getPersistentId();
      AssertWarn( pid != NULL, "SimPersistSet::write - object without pid in persistent selection!" );
      if( !pid )
         continue;
         
      buffer.append( ',' );
      buffer.append( '"' );
      buffer.append( pid->getUUID().toString() );
      buffer.append( '"' );
   }
   
   buffer.append( ") {\r\n" );

   stream.write( buffer.length(), buffer.data() );
   
   // Write our object fields.
   
   writeFields( stream, tabStop + 1 );
   
   // Close our object definition.

   stream.writeTabs( tabStop );
   stream.write( 4, "};\r\n" );
}
Пример #20
0
bool ThingSpeakClient::writeField(const int field, const double val, const char *wrApiKey)
{
    setField(field,val);
    return writeFields(wrApiKey);
}