Esempio n. 1
0
bool ReportDataHelper::SetObjectDatas( const AcDbObjectId& objId,const AcStringArray& values )
{
	if( objId.isNull() ) return false;

	AcTransaction* pTrans = actrTransactionManager->startTransaction();
	if( pTrans == 0 ) return false;

	AcDbObject* pObj;
	if( Acad::eOk != pTrans->getObject( pObj, objId, AcDb::kForWrite ) )
	{
		actrTransactionManager->abortTransaction();
		return false;
	}
	DataObject* pDO = DataObject::cast( pObj );
	if( pDO == 0 )
	{
		actrTransactionManager->abortTransaction();
		return false;
	}

	pDO->clearAll();
	for(int i = 0;  i < values.length(); i++)
	{
		CString value = values[i].kACharPtr();
		pDO->addData();
		pDO->setData(i,value);
	}
	actrTransactionManager->endTransaction();
	return true;
}
Esempio n. 2
0
DataObject* DataObject::create(WebDragData data) {
  DataObject* dataObject = create();

  WebVector<WebDragData::Item> items = data.items();
  for (unsigned i = 0; i < items.size(); ++i) {
    WebDragData::Item item = items[i];

    switch (item.storageType) {
      case WebDragData::Item::StorageTypeString:
        if (String(item.stringType) == mimeTypeTextURIList)
          dataObject->setURLAndTitle(item.stringData, item.title);
        else if (String(item.stringType) == mimeTypeTextHTML)
          dataObject->setHTMLAndBaseURL(item.stringData, item.baseURL);
        else
          dataObject->setData(item.stringType, item.stringData);
        break;
      case WebDragData::Item::StorageTypeFilename:
        dataObject->addFilename(item.filenameData, item.displayNameData);
        break;
      case WebDragData::Item::StorageTypeBinaryData:
        // This should never happen when dragging in.
        break;
      case WebDragData::Item::StorageTypeFileSystemFile: {
        // FIXME: The file system URL may refer a user visible file, see
        // http://crbug.com/429077
        FileMetadata fileMetadata;
        fileMetadata.length = item.fileSystemFileSize;
        dataObject->add(File::createForFileSystemFile(
            item.fileSystemURL, fileMetadata, File::IsNotUserVisible));
      } break;
    }
  }

  if (!data.filesystemId().isNull())
    DraggedIsolatedFileSystem::prepareForDataObject(dataObject,
                                                    data.filesystemId());
  return dataObject;
}