#pragma once

namespace WinformsProject {

	using namespace System;
	using namespace System::ComponentModel;
	using namespace System::Collections;
	using namespace System::Windows::Forms;
	using namespace System::Data;
	using namespace System::Drawing;
	using namespace Telerik::WinControls;
	using namespace Telerik::WinControls::UI;
	

	

	bool MyFilter(ListViewDataItem ^item)
	{

		return false;
	}

	/// <summary>
	/// Summary for AssetBrowser
	/// </summary>
	public ref class Form1 : public Telerik::WinControls::UI::RadForm
	{
	public:
		Form1(void)
		{
			InitializeComponent();
			
			/*
			* TELERIK TEAM - Over here! :)
			* Declaring the MyFilter function outstide of the Form1 class causes the "cannot be called with arguments" error
			* Declaring the MyFilter function inside the From1 class causes the "pointer-to-member is not valid for a managed class error
			* Best of luck!
			*/
			this->radListView1->ListViewElement->DataView->Filter = MyFilter;
			this->radListView1->ListViewElement->DataView->Filter = &MyFilter2;
		}

	protected:
		/// <summary>
		/// Clean up any resources being used.
		/// </summary>
		~Form1()
		{
			if (components)
			{
				delete components;
			}
		}
	private: Telerik::WinControls::UI::RadListView^ radListView1;
	protected:

	private:
		/// <summary>
		/// Required designer variable.
		/// </summary>
		System::ComponentModel::Container ^components;

#pragma region Windows Form Designer generated code
		/// <summary>
		/// Required method for Designer support - do not modify
		/// the contents of this method with the code editor.
		/// </summary>
		void InitializeComponent(void)
		{
			this->radListView1 = (gcnew Telerik::WinControls::UI::RadListView());
			(cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->radListView1))->BeginInit();
			(cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this))->BeginInit();
			this->SuspendLayout();
			// 
			// radListView1
			// 
			this->radListView1->Location = System::Drawing::Point(40, 30);
			this->radListView1->Name = L"radListView1";
			this->radListView1->Size = System::Drawing::Size(210, 190);
			this->radListView1->TabIndex = 0;
			// 
			// Form1
			// 
			this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
			this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
			this->ClientSize = System::Drawing::Size(292, 270);
			this->Controls->Add(this->radListView1);
			this->Name = L"Form1";
			// 
			// 
			// 
			this->RootElement->ApplyShapeToControl = true;
			this->Text = L"Form1";
			(cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this->radListView1))->EndInit();
			(cli::safe_cast<System::ComponentModel::ISupportInitialize^>(this))->EndInit();
			this->ResumeLayout(false);

		}
#pragma endregion

	private:
		
		bool MyFilter2(ListViewDataItem^ item)
		{

			return false;
		}

	};
}
