public void UpdateItemsList() { CGItems.Clear(); int nItems = 0; if (!string.IsNullOrEmpty(CurrGroupID)) { CGObject.GroupItemsCount(CurrGroupID, out nItems); } else { CGObject.GetItemsCount(out nItems); } for (int i = 0; i < nItems; i++) { string strId = ""; if (!string.IsNullOrEmpty(CurrGroupID)) { CGObject.GroupGetItem(CurrGroupID, i, out strId); } else { CGObject.GetItem(i, out strId); } string strNameDesc; CG_ITEM_PROPS itemProps; CGObject.GetItemBaseProps(strId, out strNameDesc, out itemProps); string strXMLDesc; CGObject.GetItemProperties(strId, "", out strXMLDesc); CGBaseItem itemToAdd = null; if (itemProps.eType == eCG_ItemType.eCGIT_Text) { CGTextItem text = new CGTextItem(strId); if (text.FontFamily == "") { text.FontFamily = "Arial"; } itemToAdd = text; CGItems.Add(text); } if (itemProps.eType == eCG_ItemType.eCGIT_Flash) { CGFlashItem flash = new CGFlashItem(strId); itemToAdd = flash; CGItems.Add(flash); } if (itemProps.eType == eCG_ItemType.eCGIT_Image) { CGImageItem img = new CGImageItem(strId); itemToAdd = img; CGItems.Add(img); } if (itemProps.eType == eCG_ItemType.eCGIT_MediaFile) { CGVideoItem img = new CGVideoItem(strId); itemToAdd = img; CGItems.Add(img); } if (itemProps.eType == eCG_ItemType.eCGIT_Graphics) { CGGraphicsItem gr = new CGGraphicsItem(strId); itemToAdd = gr; CGItems.Add(gr); } if (strXMLDesc.Contains("<ticker")) { CGTickerItem tkr = new CGTickerItem(strId); itemToAdd = tkr; CGItems.Add(tkr); } if ((itemProps.eType & eCG_ItemType.eCGIT_Group) != 0 && strXMLDesc.Contains(@"group-type='line'") && strXMLDesc.Contains(@"<text")) { CGTickerLine line = new CGTickerLine(strId); itemToAdd = line; CGItems.Add(line); } if ((itemProps.eType & eCG_ItemType.eCGIT_Group) != 0 && !strXMLDesc.Contains("<ticker") && !strXMLDesc.Contains(@"group-type='line'")) { CGGroupItem group = new CGGroupItem(strId); itemToAdd = group; CGItems.Add(group); } if (itemToAdd != null) { IMLCharGenEdit cgEdit = (IMLCharGenEdit)CGObject; int nCount; cgEdit.EditSelectionGetCount(out nCount); for (int j = 0; j < nCount; j++) { string strID, strColor; cgEdit.EditSelectionGetByIndex(j, out strID, out strColor); { if (strID == itemToAdd.ID) { itemToAdd.isSelected = true; } } } } } if (ItemsListUpdated != null) { ItemsListUpdated(this, new EventArgs()); } }