TPZComponent* TPZBuilder :: createComponentWithId( const TPZString& id, TPZComponent* owner ) { INDEX indice = getTagIndex(id); TPZTag* tag = getTagWithIndex(indice); if( ! tag ) { TPZString err; tag = getTagWithIndex(1); err.sprintf(ERR_TPZBLDR_002, (char*)id ); err=err+TPZString("(cont...)\n Help= Avaliable ")+tag->tagName()+TPZString(" (")+showTagArray(tag->tagName())+TPZString(" )"); EXIT_PROGRAM(err); } TPZComponent* rComponent = parseComponentDefinition(tag,owner,indice); if( ! rComponent ) { tag = getTagWithIndex(1); TPZString err; err.sprintf(ERR_TPZBLDR_002, (char*)id ); err=err+TPZString("(cont...)\n Help= Avaliable ")+tag->tagName()+TPZString(" (")+showTagArray(tag->tagName())+TPZString(" )"); EXIT_PROGRAM(err); } return rComponent; }
bool Bookmarks::setTagChecked(QString tagName, bool bChecked) { int idx = getTagIndex(tagName); if (idx == -1) return false; m_TagList[idx].active = bChecked; emit BookmarksChanged(); emit TagListChanged(); return true; }
TagInfo &Bookmarks::findOrAddTag(QString tagName) { tagName = tagName.trimmed(); if (tagName.isEmpty()) tagName=TagInfo::strUntagged; int idx = getTagIndex(tagName); if (idx != -1) return m_TagList[idx]; TagInfo info; info.name=tagName; m_TagList.append(info); emit TagListChanged(); return m_TagList.last(); }
bool Bookmarks::removeTag(QString tagName) { tagName = tagName.trimmed(); // Do not delete "Untagged" tag. if(tagName.compare(TagInfo::strUntagged, tagName)==0) return false; int idx = getTagIndex(tagName); if (idx == -1) return false; // Delete Tag from all Bookmarks that use it. TagInfo* pTagToDelete = &m_TagList[idx]; for(int i=0; i<m_BookmarkList.size(); ++i) { BookmarkInfo& bmi = m_BookmarkList[i]; for(int t=0; t<bmi.tags.size(); ++t) { TagInfo* pTag = bmi.tags[t]; if(pTag == pTagToDelete) { if(bmi.tags.size()>1) bmi.tags.removeAt(t); else bmi.tags[0] = &findOrAddTag(TagInfo::strUntagged); } } } // Delete Tag. m_TagList.removeAt(idx); emit BookmarksChanged(); emit TagListChanged(); return true; }
bool DRAL_CLIENT_BINARY_0_IMPLEMENTATION_CLASS::SetTag (void * buffer) { char tag_name [9]; UINT32 size; char * buffer2; char * str; UINT64 * value; struct setTagFormat { UINT64 commandCode : 4; UINT64 variant : 2; UINT64 flags : 4; UINT64 reserved : 6; UINT64 n : 16; UINT64 item_id : 32; UINT64 tag_name : 64; } * commandSetTag; UINT32 n; UINT32 item_id; UINT16 variant; UBYTE flags; commandSetTag=(setTagFormat *)buffer; //the values must be saved because '*buffer' may change if full n=commandSetTag->n; item_id=commandSetTag->item_id; variant=commandSetTag->variant; flags=commandSetTag->flags; buffer2 = (char *) ReadBytes(8); // reading the tag name if (buffer2 == NULL) { return false; } memcpy(tag_name,buffer2,8);//copy the tag name, because '*buffer' may change tag_name[8]='\0'; UINT32 tag_idx = getTagIndex(tag_name, strlen(tag_name)); UINT32 str_idx; switch (variant) { case DRAL0_SINGLEVALUE: value = (UINT64 *)ReadBytes(sizeof(*value)); //the value if (value == NULL) { return false; } dralListener->SetTagSingleValue(item_id, tag_idx,*value,flags); break; case DRAL0_STRING: if (n % 8) { size=n+8-(n % 8); } else { size=n; } buffer2 = (char *) ReadBytes (size); // read the string if (buffer2 == NULL) { return false; } str = new char [size+1]; // +1 for the '\0' strncpy(str,buffer2,n); str[n]='\0'; str_idx = getStringIndex(str, strlen(str)); dralListener->SetTagString(item_id, tag_idx, str_idx, flags); delete [] str; break; case DRAL0_SET: value = (UINT64 *) ReadBytes(n*sizeof(UINT64)); //read the set if (value == NULL) { return false; } dralListener->SetTagSet(item_id, tag_idx, n, value, flags); break; default: dralListener->Error( "Unknown SetTag variant\n" "Please report this bug to [email protected] attaching " "input files (if any)" ); return false; } return true; }