void kGUIText::InsertRichInfo(int index,int num) { int i; RICHINFO_DEF rid; assert(index<=m_richinfosize,"Cannot insert past end of string"); /* if at beginning or end of string then use "current" info */ if(index==m_richinfosize || !index) { rid.fontid=GetFontID(); rid.fontsize=GetFontSize(); rid.bgcolor=m_bgcolor; rid.fcolor=GetColor(); } else rid=*(GetRichInfoPtr(index-1)); m_richinfo.Alloc(m_richinfosize+num); m_richinfo.InsertEntry(m_richinfosize,index,num); for(i=0;i<num;++i) m_richinfo.SetEntry(index+i,rid); m_richinfosize+=num; StringChanged(); }
void kGUIText::DeleteRichInfo(int index,int num,bool callchanged) { assert(((index+num)<=m_richinfosize),"Cannot delete negative range"); m_richinfo.DeleteEntry(index,num); m_richinfosize-=num; if(callchanged) StringChanged(); }
void PPDConfigView::MessageReceived(BMessage* msg) { switch (msg->what) { case kMsgBooleanChanged: BooleanChanged(msg); break; case kMsgStringChanged: StringChanged(msg); break; } BView::MessageReceived(msg); }
void kGUIText::SetRichBGColor(unsigned int si,unsigned int ei,kGUIColor color) { unsigned int i; unsigned int l=GetLen(); RICHINFO_DEF *ri; for(i=si;i<ei;++i) { if(i==l) SetBGColor(color); else { ri=GetRichInfoPtr(i); ri->bgcolor=color; } } StringChanged(); }
void kGUIText::SetRichFontSize(unsigned int si,unsigned int ei,unsigned int fontsize) { unsigned int i; unsigned int l=GetLen(); RICHINFO_DEF *ri; for(i=si;i<ei;++i) { if(i==l) SetFontSize(fontsize); else { ri=GetRichInfoPtr(i); ri->fontsize=fontsize; } } StringChanged(); }
/* allocate the rich list and fill it with the default info */ void kGUIText::InitRichInfo(void) { int i; int num=GetLen(); RICHINFO_DEF tc; m_userichinfo=true; m_richinfo.Alloc(num); tc.fontid=GetFontID(); tc.fontsize=GetFontSize(); tc.bgcolor=m_bgcolor; tc.fcolor=GetColor(); for(i=0;i<num;++i) m_richinfo.SetEntry(i,tc); m_richinfosize=num; StringChanged(); }