public KGFGUIObjectList(Type theType)
    {
        itsListData       = new List <KGFITaggable> ();
        itsItemType       = theType;
        itsData           = new KGFDataTable();
        itsListFieldCache = new List <KGFObjectListColumnItem> ();

        CacheTypeMembers();
        itsGuiData                       = new KGFGUIDataTable(itsData);
        itsGuiData.OnClickRow           += OnClickRow;
        itsGuiData.EventSettingsChanged += new EventHandler(OnGuiDataSettingsChanged);
        itsGuiData.SetColumnVisible(0, false);
        for (int i = 0; i < itsListFieldCache.Count; i++)
        {
            itsGuiData.SetColumnVisible(i + 1, itsListFieldCache[i].itsDisplay);
        }

        itsListViewCategories = new KGFGUISelectionList();
        itsListViewCategories.EventItemChanged += OnCategoriesChanged;
    }
 /// <summary>
 /// Change visibility of a column by name
 /// </summary>
 /// <param name="theColumnHeader"></param>
 /// <param name="theVisible"></param>
 public void SetColumnVisible(string theColumnHeader, bool theVisible)
 {
     for (int i = 0; i < itsListFieldCache.Count; i++)
     {
         if (itsListFieldCache[i].itsDisplay)
         {
             if (itsListFieldCache[i].itsHeader == theColumnHeader)
             {
                 itsGuiData.SetColumnVisible(i + 1, theVisible);
                 break;
             }
         }
     }
 }
	public KGFGUIObjectList (Type theType)
	{
		itsListData = new List<KGFITaggable> ();
		itsItemType = theType;
		itsData = new KGFDataTable ();
		itsListFieldCache = new List<KGFObjectListColumnItem> ();
		
		CacheTypeMembers ();
		itsGuiData = new KGFGUIDataTable (itsData);
		itsGuiData.OnClickRow += OnClickRow;
		itsGuiData.EventSettingsChanged += new EventHandler(OnGuiDataSettingsChanged);
		itsGuiData.SetColumnVisible (0, false);
		for (int i=0;i<itsListFieldCache.Count;i++)
		{
			itsGuiData.SetColumnVisible(i+1,itsListFieldCache[i].itsDisplay);
		}
		
		itsListViewCategories = new KGFGUISelectionList ();
		itsListViewCategories.EventItemChanged += OnCategoriesChanged;
	}