void KdbxXmlWriter::writeMemoryProtection() { m_xml.writeStartElement("MemoryProtection"); writeBool("ProtectTitle", m_meta->protectTitle()); writeBool("ProtectUserName", m_meta->protectUsername()); writeBool("ProtectPassword", m_meta->protectPassword()); writeBool("ProtectURL", m_meta->protectUrl()); writeBool("ProtectNotes", m_meta->protectNotes()); m_xml.writeEndElement(); }
void Mega8Config::saveConfig(const wxString &profile) { if (profile == wxEmptyString) { _currentProfile = wxT("General"); } else { _currentProfile = profile; } saveKeyboard(_currentProfile); writeString(wxT("LastFolder"), _LastFolder); writeBool(wxT("FullScreen"), _FullScreen); writeBool(wxT("SpeedAuto"), _SpeedAuto); writeBool(wxT("DisplayHUD"), _DisplayHUD); writeBool(wxT("Filtered"), _Filtered); writeBool(wxT("SyncClock"), _SyncClock); writeLong(wxT("ColorTheme"), (int)_ColorTheme); writeBool(wxT("InverseColor"), _InverseColor); writeBool(wxT("Sound"), _Sound); writeBool(wxT("UseSleep"), _UseSleep); for (int i = 0; i <= sizeof(Chip8Types); i++) { writeLong(wxT("FrequencyRatio/") + getMachineTypeStr((Chip8Types)i), _FrequencyRatio[i]); } // Really save config if (_config != NULL) { writeConfig(); } }
void Mega8Config::loadConfig(const wxString &profile) { bool isNew; if (_config == NULL) { _config = new wxConfig(wxT("Mega8"), wxT("Ready4Next")); if (!readBool(wxT("FirstInit"))) { resetConfig(); writeBool(wxT("FirstInit"), true); saveConfig(profile); } } _currentProfile = profile; isNew = loadKeyboard(profile); _LastFolder = readString(wxT("LastFolder")); _FullScreen = readBool(wxT("FullScreen")); _SpeedAuto = readBool(wxT("SpeedAuto")); _DisplayHUD = readBool(wxT("DisplayHUD")); _Filtered = readBool(wxT("Filtered")); _Sound = readBool(wxT("Sound")); _UseSleep = readBool(wxT("UseSleep")); _SyncClock = readBool(wxT("SyncClock")); _ColorTheme = (Chip8ColorTheme)readLong(wxT("ColorTheme")); _InverseColor = readBool(wxT("InverseColor")); for (int i = 0; i <= sizeof(Chip8Types); i++) { _FrequencyRatio[i] = (long)min((long)max((long)readLong(wxT("FrequencyRatio/") + getMachineTypeStr((Chip8Types) i)), (long)4), (long)9); } // Save this profile if new if (isNew) { saveConfig(profile); } }
void AMFWriter::writeObject(const AMFObject& amfObject) { beginObject(); AbstractConfiguration::Keys keys; amfObject.keys(keys); AbstractConfiguration::Keys::const_iterator it; for(it=keys.begin();it!=keys.end();++it) { string name = *it; _writer.writeString16(name); int type = amfObject.getInt(name+".type",-1); switch(type) { case AMF_BOOLEAN: writeBool(amfObject.getBool(name)); break; case AMF_STRING: write(amfObject.getString(name)); break; case AMF_NUMBER: writeNumber(amfObject.getDouble(name)); break; case AMF_UNDEFINED: write(""); break; case AMF_NULL: writeNull(); break; default: ERROR("Unknown AMF '%d' type",type); } } endObject(); }
void OpenCLTraceOptions::writeSession(gtString& projectAsXMLString, const gtString& type) { gtString numVal; projectAsXMLString.append(L"<Session type=\""); projectAsXMLString.append(type); projectAsXMLString.append(L"\">"); gtString apiTypeStr = (m_currentSettings.m_apiToTrace == APIToTrace_OPENCL) ? GPU_STR_ProjectSettingsAPITypeOpenCL : GPU_STR_ProjectSettingsAPITypeHSA; writeValue(projectAsXMLString, GPU_STR_ProjectSettingsAPIType, apiTypeStr); writeBool(projectAsXMLString, GPU_STR_ProjectSettingsGenerateOccupancy, m_currentSettings.m_generateKernelOccupancy); writeBool(projectAsXMLString, GPU_STR_ProjectSettingsShowErrorCode, m_currentSettings.m_alwaysShowAPIErrorCode); writeBool(projectAsXMLString, GPU_STR_ProjectSettingsCollapseClGetEventInfo, m_currentSettings.m_collapseClGetEventInfo); writeBool(projectAsXMLString, GPU_STR_ProjectSettingsEnableNavigation, m_currentSettings.m_generateSymInfo); writeBool(projectAsXMLString, GPU_STR_ProjectSettingsGenerateSummaryPage, m_currentSettings.m_generateSummaryPage); writeBool(projectAsXMLString, GPU_STR_ProjectSettingsAPIsToFilter, m_currentSettings.m_filterAPIsToTrace); numVal.makeEmpty(); numVal.appendFormattedString(L"%d", m_currentSettings.m_maxAPICalls); writeValue(projectAsXMLString, GPU_STR_ProjectSettingsMaxAPIs, numVal); writeBool(projectAsXMLString, GPU_STR_ProjectSettingsWriteDataTimeOut, m_currentSettings.m_writeDataTimeOut); numVal.makeEmpty(); numVal.appendFormattedString(L"%d", m_currentSettings.m_timeoutInterval); writeValue(projectAsXMLString, GPU_STR_ProjectSettingsTimeOutInterval, numVal); QStringList rulesList; m_currentSettings.GetListOfRules(rulesList); AppendTree(projectAsXMLString, acGTStringToQString(GPU_STR_ProjectSettingsRulesTree), rulesList); AppendTree(projectAsXMLString, acGTStringToQString(GPU_STR_ProjectSettingsAPIsFilterTree), m_currentSettings.m_pFilterManager->APIFilterSet()); projectAsXMLString.append(L"</Session>"); }
////////////////////////////////////////////////////////////////////////////// // STATIC void writeStringArray(std::streambuf & ostrm, const StringArray * propertyList) { bool nullPropertyList = (propertyList == 0); writeBool(ostrm, nullPropertyList); if (!nullPropertyList) { writeStringArray(ostrm, *propertyList); } }
void RC2UI::writeStyles( const QStringList styles, bool isFrame ) { if ( isFrame ) { bool defineFrame = FALSE; QString shadow = "NoFrame"; QString shape = "StyledPanel"; int width = 2; if ( styles.contains( "WS_EX_STATICEDGE" ) ) { shadow = "Plain"; width = 1; defineFrame = TRUE; } if ( styles.contains( "WS_EX_CLIENTEDGE" ) ) { shadow = "Sunken"; defineFrame = TRUE; } if ( styles.contains( "WS_EX_DLGMODALFRAME" ) ) { shadow = "Raised"; defineFrame = TRUE; } if ( !styles.contains( "WS_BORDER" ) ) { shape = "NoFrame"; defineFrame = TRUE; } if ( defineFrame ) { writeEnum( "frameShape", "StyledPanel" ); writeEnum( "frameShadow", shadow ); writeNumber( "lineWidth", width ); } } if ( styles.contains("WS_DISABLED") ) writeBool("enabled", FALSE ); if ( styles.contains("WS_EX_ACCEPTFILES") ) writeBool("acceptDrops", TRUE ); if ( styles.contains("WS_EX_TRANSPARENT") ) writeBool("autoMask", TRUE ); if ( !styles.contains("WS_TABSTOP") ) writeEnum("focusPolicy", "NoFocus"); }
void KdbxXmlWriter::writeTimes(const TimeInfo& ti) { m_xml.writeStartElement("Times"); writeDateTime("LastModificationTime", ti.lastModificationTime()); writeDateTime("CreationTime", ti.creationTime()); writeDateTime("LastAccessTime", ti.lastAccessTime()); writeDateTime("ExpiryTime", ti.expiryTime()); writeBool("Expires", ti.expires()); writeNumber("UsageCount", ti.usageCount()); writeDateTime("LocationChanged", ti.locationChanged()); m_xml.writeEndElement(); }
void KdbxXmlWriter::writeAutoType(const Entry* entry) { m_xml.writeStartElement("AutoType"); writeBool("Enabled", entry->autoTypeEnabled()); writeNumber("DataTransferObfuscation", entry->autoTypeObfuscation()); writeString("DefaultSequence", entry->defaultAutoTypeSequence()); const QList<AutoTypeAssociations::Association> autoTypeAssociations = entry->autoTypeAssociations()->getAll(); for (const AutoTypeAssociations::Association& assoc : autoTypeAssociations) { writeAutoTypeAssoc(assoc); } m_xml.writeEndElement(); }
void KdbxXmlWriter::writeGroup(const Group* group) { Q_ASSERT(!group->uuid().isNull()); m_xml.writeStartElement("Group"); writeUuid("UUID", group->uuid()); writeString("Name", group->name()); writeString("Notes", group->notes()); writeNumber("IconID", group->iconNumber()); if (!group->iconUuid().isNull()) { writeUuid("CustomIconUUID", group->iconUuid()); } writeTimes(group->timeInfo()); writeBool("IsExpanded", group->isExpanded()); writeString("DefaultAutoTypeSequence", group->defaultAutoTypeSequence()); writeTriState("EnableAutoType", group->autoTypeEnabled()); writeTriState("EnableSearching", group->searchingEnabled()); writeUuid("LastTopVisibleEntry", group->lastTopVisibleEntry()); if (m_kdbxVersion >= KeePass2::FILE_VERSION_4) { writeCustomData(group->customData()); } const QList<Entry*>& entryList = group->entries(); for (const Entry* entry : entryList) { writeEntry(entry); } const QList<Group*>& children = group->children(); for (const Group* child : children) { writeGroup(child); } m_xml.writeEndElement(); }
void KdbxXmlWriter::writeMetadata() { m_xml.writeStartElement("Meta"); writeString("Generator", m_meta->generator()); if (m_kdbxVersion < KeePass2::FILE_VERSION_4 && !m_headerHash.isEmpty()) { writeBinary("HeaderHash", m_headerHash); } writeString("DatabaseName", m_meta->name()); writeDateTime("DatabaseNameChanged", m_meta->nameChanged()); writeString("DatabaseDescription", m_meta->description()); writeDateTime("DatabaseDescriptionChanged", m_meta->descriptionChanged()); writeString("DefaultUserName", m_meta->defaultUserName()); writeDateTime("DefaultUserNameChanged", m_meta->defaultUserNameChanged()); writeNumber("MaintenanceHistoryDays", m_meta->maintenanceHistoryDays()); writeColor("Color", m_meta->color()); writeDateTime("MasterKeyChanged", m_meta->masterKeyChanged()); writeNumber("MasterKeyChangeRec", m_meta->masterKeyChangeRec()); writeNumber("MasterKeyChangeForce", m_meta->masterKeyChangeForce()); writeMemoryProtection(); writeCustomIcons(); writeBool("RecycleBinEnabled", m_meta->recycleBinEnabled()); writeUuid("RecycleBinUUID", m_meta->recycleBin()); writeDateTime("RecycleBinChanged", m_meta->recycleBinChanged()); writeUuid("EntryTemplatesGroup", m_meta->entryTemplatesGroup()); writeDateTime("EntryTemplatesGroupChanged", m_meta->entryTemplatesGroupChanged()); writeUuid("LastSelectedGroup", m_meta->lastSelectedGroup()); writeUuid("LastTopVisibleGroup", m_meta->lastTopVisibleGroup()); writeNumber("HistoryMaxItems", m_meta->historyMaxItems()); writeNumber("HistoryMaxSize", m_meta->historyMaxSize()); if (m_kdbxVersion >= KeePass2::FILE_VERSION_4) { writeDateTime("SettingsChanged", m_meta->settingsChanged()); } if (m_kdbxVersion < KeePass2::FILE_VERSION_4) { writeBinaries(); } writeCustomData(m_meta->customData()); m_xml.writeEndElement(); }
void GlslSymbol::writeInitializer( std::stringstream &out, int element ) { int elementCount = 0; EGlslSymbolType baseType = EgstVoid; switch (type) { case EgstBool: case EgstBool2: case EgstBool3: case EgstBool4: baseType = EgstBool; elementCount = type - EgstBool + 1; break; case EgstInt: case EgstInt2: case EgstInt3: case EgstInt4: baseType = EgstInt; elementCount = type - EgstInt + 1; break; case EgstFloat: case EgstFloat2: case EgstFloat3: case EgstFloat4: baseType = EgstFloat; elementCount = type - EgstFloat + 1; break; case EgstFloat2x2: case EgstFloat3x3: case EgstFloat4x4: baseType = EgstFloat; elementCount = type - EgstFloat2x2 + 2; elementCount *= elementCount; break; default: assert(0); } int offset = elementCount * element; if (baseType == EgstBool) { if (elementCount > 1) out << getTypeString(type) << "( "; for (int ii = 0; ii < elementCount; ii++) { if (ii != 0) out << ", "; writeBool( out, initializer[ ii + offset] != 0.0f); } if (elementCount > 1) out << ")"; } else if (baseType == EgstInt) { if (elementCount > 1) out << getTypeString(type) << "( "; for (int ii = 0; ii < elementCount; ii++) { if (ii != 0) out << ", "; out << (int)initializer[ ii + offset]; } if (elementCount > 1) out << ")"; } else if (baseType == EgstFloat) { if (elementCount > 1) out << getTypeString(type) << "( "; for (int ii = 0; ii < elementCount; ii++) { if (ii != 0) out << ", "; out << initializer[ ii + offset]; } if (elementCount > 1) out << ")"; } else { assert(0); } }
bool RC2UI::makeDialog() { line = in->readLine(); do { QFile fileOut; QString buffer; int count; QCString className; uint x, y, w, h; uint endDesc; bool space = FALSE; for ( endDesc = 0; endDesc < line.length() ; endDesc++ ) { char c = (QChar)line.at(endDesc); if ( space && (c >= '0') && (c <= '9') ) break; space = c==' '; } QString desc = line.left(endDesc-1); line = line.right( line.length() - endDesc ); className = parseNext( desc, ' ' ); count = sscanf( line, "%d, %d, %d, %d", &x, &y, &w, &h ); if ( !count && count == EOF ) return FALSE; char property[256]; QStringList styles; QStringList extendedStyles; QString caption = ""; QString baseClass = ""; QString widgetType; QString widgetName; QString arguments; int pointsize; QString fontname; do { if ( in->eof() ) return TRUE; line = ""; do { line += in->readLine(); } while ( line[(int)line.length()-1] == '|' || line[(int)line.length()-1] == ',' ); count = sscanf( line, "%s", property ); line = line.right( line.length() - line.find(" ") -1 ); if ( QString(property) == "STYLE" ) { styles = splitStyles(line); if ( styles.contains( "WS_CAPTION" ) ) baseClass = "QDialog"; else baseClass = "QWidget"; } else if ( QString(property) == "CAPTION" ) { caption = stripQM( line ); } else if ( QString(property) == "FONT" ) { QString pt = line.left( line.find(",") ); pointsize = pt.toInt(); fontname = stripQM(line.right( line.length() - line.find(",") - 2 )); } } while ( line != "BEGIN" ); if ( writeToFile ) { QString outputFile = QString(className) + ".ui"; fileOut.setName( outputFile ); if (!fileOut.open( IO_WriteOnly ) ) qFatal( "rc2ui: Could not open output file '%s'", outputFile.latin1() ); out = new QTextStream( &fileOut ); } else { out = new QTextStream( &buffer, IO_WriteOnly ); } *out << "<!DOCTYPE UI><UI>" << endl; writeClass( className ); wi(); *out << "<widget>"<< endl; indent(); writeClass( baseClass ); writeCString( "name", className ); writeRect( "geometry", x, y, w, h ); writeString( "caption", caption ); writeFont( fontname, pointsize ); do { line = in->readLine().stripWhiteSpace(); if ( line == "END" ) continue; widgetType = parseNext(line, ' '); arguments = line.stripWhiteSpace(); while ( arguments[(int)arguments.length()-1] == ',' || arguments[(int)arguments.length()-1] == '|' ) arguments += " "+in->readLine().stripWhiteSpace(); wi(); *out << "<widget>" << endl; indent(); WidgetType ID = IDUnknown; QString controlType; QString widgetID; QString widgetText; bool hasText = FALSE; bool isControl = FALSE; bool isFrame = FALSE; if ( widgetType == "PUSHBUTTON" ) { ID = IDPushButton; hasText = TRUE; } else if ( widgetType == "DEFPUSHBUTTON" ) { ID = IDPushButton; hasText = TRUE; } else if ( widgetType == "LTEXT" ) { ID = IDLabel; hasText = TRUE; } else if ( widgetType == "CTEXT" ) { ID = IDLabel; hasText = TRUE; } else if ( widgetType == "RTEXT" ) { ID = IDLabel; hasText = TRUE; } else if ( widgetType == "EDITTEXT" ) { ID = IDLineEdit; } else if ( widgetType == "GROUPBOX" ) { ID = IDGroupBox; hasText = TRUE; } else if ( widgetType == "COMBOBOX" ) { ID = IDComboBox; } else if ( widgetType == "LISTBOX" ) { ID = IDListBox; } else if ( widgetType == "SCROLLBAR" ) { ID = IDScrollBar; } else if ( widgetType == "CHECKBOX" ) { ID = IDCheckBox; hasText = TRUE; } else if ( widgetType == "RADIOBUTTON" ) { ID = IDRadioButton; hasText = TRUE; } else if ( widgetType == "CONTROL" ) { isControl = TRUE; widgetText = stripQM(parseNext( arguments )); widgetID = parseNext( arguments ); controlType = stripQM(parseNext( arguments )); styles = splitStyles(parseNext( arguments )); if ( controlType == "Static" ) { ID = IDLabel; } else if ( controlType == "Button" ) { if ( styles.contains("BS_AUTOCHECKBOX") || styles.contains("BS_3STATE") ) ID = IDCheckBox; else if ( styles.contains("BS_AUTORADIOBUTTON") ) ID = IDRadioButton; } else if ( controlType == "msctls_updown32" ) { ID = IDSpinBox; } else if ( controlType == "msctls_progress32" ) { ID = IDProgressBar; } else if ( controlType == "msctls_trackbar32" ) { ID = IDSlider; } else if ( controlType == "SysListView32" ) { ID = IDIconView; } else if ( controlType == "SysTreeView32" ) { ID = IDListView; } else if ( controlType == "SysTabControl32" ) { ID = IDTabWidget; } else if ( controlType == "SysAnimate32" ) { ID = IDLabel; } else if ( controlType == "RICHEDIT" ) { ID = IDMultiLineEdit; } else if ( controlType == "ComboBoxEx32" ) { ID = IDComboBox; } else if ( controlType == "" ) { ID = IDCustom; } else { ID = IDUnknown; } } else ID = IDUnknown; if ( hasText ) widgetText = stripQM(parseNext( arguments )); if ( isControl ) { x = parseNext( arguments ).toInt(); y = parseNext( arguments ).toInt(); w = parseNext( arguments ).toInt(); h = parseNext( arguments ).toInt(); } else { widgetID = parseNext( arguments ); x = parseNext( arguments ).toInt(); y = parseNext( arguments ).toInt(); w = parseNext( arguments ).toInt(); h = parseNext( arguments ).toInt(); styles.clear(); } do { extendedStyles = splitStyles(parseNext( arguments )); for ( uint i = 0; i < extendedStyles.count(); i++ ) styles << (*extendedStyles.at(i)); } while ( arguments.find(',') > -1 ); switch ( ID ) { case IDWidget: break; case IDPushButton: { writeClass("QPushButton"); writeCString( "name", useName("PushButton_"+widgetID) ); writeRect( "geometry", x, y, w, h ); writeString( "text", widgetText ); if ( widgetType == "DEFPUSHBUTTON" ) writeBool( "default", TRUE ); } break; case IDLabel: { isFrame = TRUE, writeClass("QLabel"); writeCString( "name", useName("Label_"+widgetID) ); writeRect( "geometry", x,y,w,h ); writeString( "text", widgetText ); QString align; if ( !styles.contains("SS_CENTERIMAGE") ) align += "|AlignTop"; else align += "|AlignVCenter"; if ( widgetType == "LTEXT" ) { align += "|AlignLeft"; } else if ( widgetType == "CTEXT") { align += "|AlignHCenter"; } else if ( widgetType == "RTEXT") { align += "|AlignRight"; } writeSet("alignment", align ); } break; case IDCheckBox: { writeClass("QCheckBox"); writeCString("name", useName("CheckBox_"+widgetID) ); writeRect("geometry", x,y,w,h); writeString("text", widgetText ); if ( styles.contains( "BS_3STATE" ) ) writeBool( "tristate", TRUE ); } break; case IDRadioButton: { writeClass("QRadioButton"); writeCString("name", useName("RadioButton_"+widgetID) ); writeRect("geometry", x,y,w,h); writeString("text", widgetText ); } break; case IDGroupBox: { isFrame = TRUE; writeClass("QGroupBox"); writeCString( "name", useName("GroupBox_"+widgetID) ); writeRect( "geometry", x,y,w,h ); writeString( "title", widgetText ); if ( !styles.contains( "WS_BORDER" ) ) styles.append( "WS_BORDER" ); } break; case IDLineEdit: { if ( !styles.contains("ES_MULTILINE") ) { writeClass("QLineEdit"); writeCString( "name", useName("LineEdit_"+widgetID) ); } else { writeClass("QMultiLineEdit"); writeCString( "name", useName("MultiLineEdit_"+widgetID) ); } writeRect( "geometry", x,y,w,h ); QString align = "AlignTop"; if ( styles.contains("ES_CENTER") ) align+="|AlignHCenter"; else if ( styles.contains("ES_RIGHT") ) align+="|AlignRight"; else align+="|AlignLeft"; writeSet("alignment", align); } break; case IDMultiLineEdit: { writeClass("QMultiLineEdit"); writeCString("name", useName("MultiLineEdit_"+widgetID) ); writeRect("geometry", x,y,w,h ); } break; case IDIconView: { isFrame = TRUE; writeClass("QIconView"); writeCString("name", useName("IconView_"+widgetID) ); writeRect("geometry", x,y,w,h ); if ( !styles.contains( "LVS_SINGLESEL" ) ) writeEnum( "selectionMode", "Extended" ); if ( styles.contains( "LVS_NOLABELWRAP" ) ) writeBool("wordWrapIconText", FALSE ); } break; case IDListView: { isFrame = TRUE; writeClass("QListView"); writeCString("name", useName("ListView_"+widgetID) ); writeRect("geometry", x,y,w,h ); if ( styles.contains( "TVS_LINESATROOT" ) ) writeBool( "rootIsDecorated", TRUE ); if ( styles.contains( "TVS_FULLROWSELECT" ) ) writeBool( "allColumnsShowFocus", TRUE ); } break; case IDProgressBar: { isFrame = TRUE; writeClass("QProgressBar"); writeCString("name", useName("ProgressBar_"+widgetID) ); writeRect("geometry", x,y,w,h ); if ( styles.contains("TBS_VERT") ) writeEnum("orientation", "Vertical"); else writeEnum("orientation", "Horizontal"); } break; case IDTabWidget: { writeClass("QTabWidget"); writeCString("name", useName("TabWidget_"+widgetID) ); writeRect("geometry", x,y,w,h ); wi(); *out << "<widget>" << endl; indent(); writeClass("QWidget"); wi(); *out << "<attribute>" << endl; indent(); wi(); *out << "<name>title</name>" << endl; wi(); *out << "<string>Tab1</string>" << endl; undent(); wi(); *out << "</attribute>" << endl; undent(); wi(); *out << "</widget>" << endl; } break; case IDSpinBox: { isFrame = TRUE; writeClass("QSpinBox"); writeCString("name", useName("SpinBox_"+widgetID) ); writeRect("geometry", x,y,w,h); } break; case IDSlider: { writeClass("QSlider"); writeCString("name", useName("Slider_"+widgetID) ); writeRect("geometry", x,y,w,h ); if ( styles.contains("TBS_VERT") ) writeEnum("orientation", "Vertical"); else writeEnum("orientation", "Horizontal"); if ( !styles.contains("TBS_NOTICKS") ) writeEnum("tickmarks", "Left" ); } break; case IDComboBox: { writeClass("QComboBox"); writeCString("name", useName("ComboBox_"+widgetID) ); if ( isControl ) writeRect( "geometry", x,y,w,14 ); else writeRect( "geometry", x,y,w,h ); } break; case IDListBox: { isFrame = TRUE; writeClass("QListBox"); writeCString("name", useName("ListBox_"+widgetID) ); writeRect( "geometry", x,y,w,h ); if ( styles.contains("WS_HSCROLL") ) writeEnum("hScrollBarMode", "Auto"); else writeEnum("hScrollBarMode", "AlwaysOff"); if ( styles.contains("WS_VSCROLL") ) writeEnum("vScrollBarMode", "Auto"); else writeEnum("vScrollBarMode", "AlwaysOff"); if ( styles.contains("LBS_EXTENDEDSEL") ) writeEnum("selectionMode", "Extended"); else if ( styles.contains("LBS_MULTIPLESEL") ) writeEnum("selectionMode", "Multi"); else if ( styles.contains("LBS_NOSEL") ) writeEnum("selectionMode", "NoSelection"); else writeEnum("selectionMode", "Single"); if ( !styles.contains( "NO WS_BORDER" ) ) styles.append( "WS_BORDER" ); } break; case IDScrollBar: { writeClass("QScrollBar"); writeCString("name", useName("ScrollBar_"+widgetID) ); writeRect("geometry", x,y,w,h ); if ( styles.contains("SBS_VERT") ) writeEnum("orientation", "Vertical"); else writeEnum("orientation", "Horizontal"); } break; case IDCustom: { writeClass("QLabel"); writeCString("name", useName("Custom_"+widgetID) ); writeRect("geometry", x,y,w,h ); writeString("text", "Create a custom widget and place it here." ); } default: { writeClass("QLabel"); writeCString("name", useName("Unknown_"+widgetID) ); writeRect("geometry", x,y,w,h ); writeString("text", QString("No support for %1.").arg(controlType) ); } break; } writeStyles( styles, isFrame ); styles.clear(); undent(); wi(); *out << "</widget>" << endl; } while ( line != "END" ); undent(); wi(); *out << "</widget>" << endl; *out << "</UI>" << endl; do { line = in->readLine(); } while ( line.isEmpty() ); if ( !writeToFile ) target.append( buffer.copy() ); if (out) { delete out; out = 0; } fileOut.close(); if ( writeToFile ) printf( QDir::currentDirPath() + "/" + fileOut.name() + '\n' ); } while ( line != blockStart1 ); return TRUE; }
static void doSerialize(A2PWriter writer, A2PType expected, ATerm value){ DKISIndexedSet sharedValues = writer->valueSharingMap; int valueHash = hashValue(value); int valueId = DKISget(sharedValues, (void*) value, (void*) expected, valueHash); /* TODO: Fix sharing (check types). */ if(valueId != -1){ writeByteToBuffer(writer->buffer, PDB_SHARED_FLAG); printInteger(writer->buffer, valueId); return; } switch(expected->id){ case PDB_VALUE_TYPE_HEADER: serializeUntypedTerm(writer, value); break; case PDB_BOOL_TYPE_HEADER: if(ATgetType(value) != AT_APPL){ fprintf(stderr, "Boolean didn't have AT_APPL type.\n"); exit(1); } writeBool(writer, (ATermAppl) value); break; case PDB_INTEGER_TYPE_HEADER: if(ATgetType(value) != AT_INT){ fprintf(stderr, "Integer didn't have AT_INT type.\n"); exit(1); } writeInteger(writer, (ATermInt) value); break; case PDB_DOUBLE_TYPE_HEADER: if(ATgetType(value) != AT_REAL){ fprintf(stderr, "Double didn't have AT_REAL type.\n"); exit(1); } writeDouble(writer, (ATermReal) value); break; case PDB_STRING_TYPE_HEADER: if(ATgetType(value) != AT_APPL || ATisQuoted(ATgetAFun((ATermAppl) value)) == ATfalse){ fprintf(stderr, "String didn't have 'quoted' AT_APPL type.\n"); ATabort(""); exit(1); } writeString(writer, (ATermAppl) value); break; case PDB_SOURCE_LOCATION_TYPE_HEADER: if(ATgetType(value) != AT_APPL){ fprintf(stderr, "Source location didn't have AT_APPL type.\n"); exit(1); } writeSourceLocation(writer, (ATermAppl) value); break; case PDB_NODE_TYPE_HEADER: if(ATgetType(value) != AT_APPL){ fprintf(stderr, "Node didn't have AT_APPL type.\n"); exit(1); } { ATermList annotations = (ATermList) ATgetAnnotations(value); if(annotations == NULL){ writeNode(writer, expected, (ATermAppl) value); }else{ if(((A2PNodeType) expected->theType)->declaredAnnotations == NULL){ fprintf(stderr, "Node term has annotations, but none are declared.\n"); exit(1); } writeAnnotatedNode(writer, expected, (ATermAppl) value, annotations); } } break; case PDB_TUPLE_TYPE_HEADER: if(ATgetType(value) != AT_APPL){ fprintf(stderr, "Tuple didn't have AT_APPL type.\n"); exit(1); } writeTuple(writer, expected, (ATermAppl) value); break; case PDB_LIST_TYPE_HEADER: if(ATgetType(value) != AT_LIST){ fprintf(stderr, "List didn't have AT_LIST type.\n"); exit(1); } writeList(writer, expected, (ATermList) value); break; case PDB_SET_TYPE_HEADER: if(ATgetType(value) != AT_LIST){ fprintf(stderr, "Set didn't have AT_LIST type.\n"); exit(1); } writeSet(writer, expected, (ATermList) value); break; case PDB_RELATION_TYPE_HEADER: if(ATgetType(value) != AT_LIST){ fprintf(stderr, "Relation didn't have AT_LIST type.\n"); exit(1); } writeRelation(writer, expected, (ATermList) value); break; case PDB_MAP_TYPE_HEADER: if(ATgetType(value) != AT_LIST){ fprintf(stderr, "Map didn't have AT_LIST type.\n"); exit(1); } writeMap(writer, expected, (ATermList) value); break; case PDB_CONSTRUCTOR_TYPE_HEADER: if(ATgetType(value) != AT_APPL){ fprintf(stderr, "Constructor didn't have AT_APPL type.\n"); exit(1); } { ATermList annotations = (ATermList) ATgetAnnotations(value); if(annotations == NULL){ writeConstructor(writer, expected, (ATermAppl) value); }else{ if(((A2PConstructorType) expected->theType)->declaredAnnotations == NULL){ fprintf(stderr, "Constructor term has annotations, but none are declared.\n"); exit(1); } writeAnnotatedConstructor(writer, expected, (ATermAppl) value, annotations); } } break; case PDB_ADT_TYPE_HEADER: writeADT(writer, expected, value); break; default: fprintf(stderr, "Unserializable type: %d\n.", expected->id); exit(1); } DKISstore(sharedValues, (void*) value, (void*) expected, valueHash); }
Writer& Writer::writeBool(const std::string& name, bool value) { setValueName(name); return writeBool(value); }