275 lines
11 KiB
C#
275 lines
11 KiB
C#
|
using System;
|
||
|
using System.Drawing;
|
||
|
using System.Collections;
|
||
|
using System.ComponentModel;
|
||
|
using System.Windows.Forms;
|
||
|
using System.Data;
|
||
|
using System.IO;
|
||
|
using PhysFS_NET;
|
||
|
|
||
|
namespace TestApp
|
||
|
{
|
||
|
/// <summary>
|
||
|
/// Summary description for Form1.
|
||
|
/// </summary>
|
||
|
public class TestAppForm : System.Windows.Forms.Form
|
||
|
{
|
||
|
private System.Windows.Forms.Label label2;
|
||
|
private System.Windows.Forms.Button RefreshCDsButton;
|
||
|
private System.Windows.Forms.ListBox CDDrivesList;
|
||
|
private System.Windows.Forms.ListBox SearchPathList;
|
||
|
private System.Windows.Forms.Label label1;
|
||
|
private System.Windows.Forms.TextBox EnumFilesPath;
|
||
|
private System.Windows.Forms.ListBox EnumList;
|
||
|
private System.Windows.Forms.Label label3;
|
||
|
private System.Windows.Forms.TextBox NewSearchPathText;
|
||
|
private System.Windows.Forms.Button AddSearchPathButton;
|
||
|
private System.Windows.Forms.Button RemovePathButton;
|
||
|
private System.Windows.Forms.Button RefreshEnumList;
|
||
|
private System.Windows.Forms.Button RefreshSearchPathButton;
|
||
|
/// <summary>
|
||
|
/// Required designer variable.
|
||
|
/// </summary>
|
||
|
private System.ComponentModel.Container components = null;
|
||
|
|
||
|
public TestAppForm()
|
||
|
{
|
||
|
//
|
||
|
// Required for Windows Form Designer support
|
||
|
//
|
||
|
InitializeComponent();
|
||
|
|
||
|
//
|
||
|
// TODO: Add any constructor code after InitializeComponent call
|
||
|
//
|
||
|
}
|
||
|
|
||
|
/// <summary>
|
||
|
/// Clean up any resources being used.
|
||
|
/// </summary>
|
||
|
protected override void Dispose( bool disposing )
|
||
|
{
|
||
|
if( disposing )
|
||
|
{
|
||
|
if (components != null)
|
||
|
{
|
||
|
components.Dispose();
|
||
|
}
|
||
|
}
|
||
|
base.Dispose( disposing );
|
||
|
}
|
||
|
|
||
|
#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>
|
||
|
private void InitializeComponent()
|
||
|
{
|
||
|
this.label2 = new System.Windows.Forms.Label();
|
||
|
this.RefreshCDsButton = new System.Windows.Forms.Button();
|
||
|
this.CDDrivesList = new System.Windows.Forms.ListBox();
|
||
|
this.SearchPathList = new System.Windows.Forms.ListBox();
|
||
|
this.label1 = new System.Windows.Forms.Label();
|
||
|
this.EnumFilesPath = new System.Windows.Forms.TextBox();
|
||
|
this.EnumList = new System.Windows.Forms.ListBox();
|
||
|
this.label3 = new System.Windows.Forms.Label();
|
||
|
this.RefreshEnumList = new System.Windows.Forms.Button();
|
||
|
this.NewSearchPathText = new System.Windows.Forms.TextBox();
|
||
|
this.AddSearchPathButton = new System.Windows.Forms.Button();
|
||
|
this.RemovePathButton = new System.Windows.Forms.Button();
|
||
|
this.RefreshSearchPathButton = new System.Windows.Forms.Button();
|
||
|
this.SuspendLayout();
|
||
|
//
|
||
|
// label2
|
||
|
//
|
||
|
this.label2.Location = new System.Drawing.Point(8, 8);
|
||
|
this.label2.Name = "label2";
|
||
|
this.label2.Size = new System.Drawing.Size(136, 16);
|
||
|
this.label2.TabIndex = 2;
|
||
|
this.label2.Text = "Available CD-ROM Drives";
|
||
|
//
|
||
|
// RefreshCDsButton
|
||
|
//
|
||
|
this.RefreshCDsButton.Location = new System.Drawing.Point(8, 152);
|
||
|
this.RefreshCDsButton.Name = "RefreshCDsButton";
|
||
|
this.RefreshCDsButton.Size = new System.Drawing.Size(72, 24);
|
||
|
this.RefreshCDsButton.TabIndex = 4;
|
||
|
this.RefreshCDsButton.Text = "Refresh";
|
||
|
this.RefreshCDsButton.Click += new System.EventHandler(this.RefreshCDsButton_Click);
|
||
|
//
|
||
|
// CDDrivesList
|
||
|
//
|
||
|
this.CDDrivesList.Location = new System.Drawing.Point(8, 24);
|
||
|
this.CDDrivesList.Name = "CDDrivesList";
|
||
|
this.CDDrivesList.Size = new System.Drawing.Size(136, 121);
|
||
|
this.CDDrivesList.TabIndex = 7;
|
||
|
//
|
||
|
// SearchPathList
|
||
|
//
|
||
|
this.SearchPathList.Location = new System.Drawing.Point(152, 24);
|
||
|
this.SearchPathList.Name = "SearchPathList";
|
||
|
this.SearchPathList.Size = new System.Drawing.Size(248, 95);
|
||
|
this.SearchPathList.TabIndex = 8;
|
||
|
//
|
||
|
// label1
|
||
|
//
|
||
|
this.label1.Location = new System.Drawing.Point(152, 8);
|
||
|
this.label1.Name = "label1";
|
||
|
this.label1.Size = new System.Drawing.Size(136, 16);
|
||
|
this.label1.TabIndex = 10;
|
||
|
this.label1.Text = "Search Path";
|
||
|
//
|
||
|
// EnumFilesPath
|
||
|
//
|
||
|
this.EnumFilesPath.Location = new System.Drawing.Point(408, 128);
|
||
|
this.EnumFilesPath.Name = "EnumFilesPath";
|
||
|
this.EnumFilesPath.Size = new System.Drawing.Size(208, 20);
|
||
|
this.EnumFilesPath.TabIndex = 11;
|
||
|
this.EnumFilesPath.Text = "";
|
||
|
//
|
||
|
// EnumList
|
||
|
//
|
||
|
this.EnumList.Location = new System.Drawing.Point(408, 24);
|
||
|
this.EnumList.Name = "EnumList";
|
||
|
this.EnumList.Size = new System.Drawing.Size(208, 95);
|
||
|
this.EnumList.TabIndex = 12;
|
||
|
//
|
||
|
// label3
|
||
|
//
|
||
|
this.label3.Location = new System.Drawing.Point(408, 8);
|
||
|
this.label3.Name = "label3";
|
||
|
this.label3.Size = new System.Drawing.Size(136, 16);
|
||
|
this.label3.TabIndex = 13;
|
||
|
this.label3.Text = "Enumerate Files";
|
||
|
//
|
||
|
// RefreshEnumList
|
||
|
//
|
||
|
this.RefreshEnumList.Location = new System.Drawing.Point(544, 152);
|
||
|
this.RefreshEnumList.Name = "RefreshEnumList";
|
||
|
this.RefreshEnumList.Size = new System.Drawing.Size(72, 24);
|
||
|
this.RefreshEnumList.TabIndex = 14;
|
||
|
this.RefreshEnumList.Text = "Refresh";
|
||
|
this.RefreshEnumList.Click += new System.EventHandler(this.RefreshEnumList_Click);
|
||
|
//
|
||
|
// NewSearchPathText
|
||
|
//
|
||
|
this.NewSearchPathText.Location = new System.Drawing.Point(152, 128);
|
||
|
this.NewSearchPathText.Name = "NewSearchPathText";
|
||
|
this.NewSearchPathText.Size = new System.Drawing.Size(248, 20);
|
||
|
this.NewSearchPathText.TabIndex = 15;
|
||
|
this.NewSearchPathText.Text = "";
|
||
|
//
|
||
|
// AddSearchPathButton
|
||
|
//
|
||
|
this.AddSearchPathButton.Location = new System.Drawing.Point(152, 152);
|
||
|
this.AddSearchPathButton.Name = "AddSearchPathButton";
|
||
|
this.AddSearchPathButton.Size = new System.Drawing.Size(72, 24);
|
||
|
this.AddSearchPathButton.TabIndex = 9;
|
||
|
this.AddSearchPathButton.Text = "Add Path";
|
||
|
this.AddSearchPathButton.Click += new System.EventHandler(this.AddSearchPathButton_Click);
|
||
|
//
|
||
|
// RemovePathButton
|
||
|
//
|
||
|
this.RemovePathButton.Location = new System.Drawing.Point(232, 152);
|
||
|
this.RemovePathButton.Name = "RemovePathButton";
|
||
|
this.RemovePathButton.Size = new System.Drawing.Size(88, 24);
|
||
|
this.RemovePathButton.TabIndex = 16;
|
||
|
this.RemovePathButton.Text = "Remove Path";
|
||
|
this.RemovePathButton.Click += new System.EventHandler(this.RemovePathButton_Click);
|
||
|
//
|
||
|
// RefreshSearchPathButton
|
||
|
//
|
||
|
this.RefreshSearchPathButton.Location = new System.Drawing.Point(328, 152);
|
||
|
this.RefreshSearchPathButton.Name = "RefreshSearchPathButton";
|
||
|
this.RefreshSearchPathButton.Size = new System.Drawing.Size(72, 24);
|
||
|
this.RefreshSearchPathButton.TabIndex = 17;
|
||
|
this.RefreshSearchPathButton.Text = "Refresh";
|
||
|
this.RefreshSearchPathButton.Click += new System.EventHandler(this.RefreshSearchPathButton_Click);
|
||
|
//
|
||
|
// TestAppForm
|
||
|
//
|
||
|
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
|
||
|
this.ClientSize = new System.Drawing.Size(624, 309);
|
||
|
this.Controls.AddRange(new System.Windows.Forms.Control[] {
|
||
|
this.RefreshSearchPathButton,
|
||
|
this.RemovePathButton,
|
||
|
this.NewSearchPathText,
|
||
|
this.RefreshEnumList,
|
||
|
this.label3,
|
||
|
this.EnumList,
|
||
|
this.EnumFilesPath,
|
||
|
this.label1,
|
||
|
this.SearchPathList,
|
||
|
this.CDDrivesList,
|
||
|
this.RefreshCDsButton,
|
||
|
this.label2,
|
||
|
this.AddSearchPathButton});
|
||
|
this.Name = "TestAppForm";
|
||
|
this.Text = "PhysFS Test Application";
|
||
|
this.Load += new System.EventHandler(this.TestAppForm_Load);
|
||
|
this.ResumeLayout(false);
|
||
|
|
||
|
}
|
||
|
#endregion
|
||
|
|
||
|
/// <summary>
|
||
|
/// The main entry point for the application.
|
||
|
/// </summary>
|
||
|
[STAThread]
|
||
|
static void Main()
|
||
|
{
|
||
|
Application.Run(new TestAppForm());
|
||
|
}
|
||
|
|
||
|
private void TestAppForm_Load(object sender, System.EventArgs e)
|
||
|
{
|
||
|
|
||
|
}
|
||
|
|
||
|
private void RefreshCDsButton_Click(object sender, System.EventArgs e)
|
||
|
{
|
||
|
// Clear ths listbox if it contains any items
|
||
|
CDDrivesList.Items.Clear();
|
||
|
// Add the items to the list
|
||
|
CDDrivesList.Items.AddRange(PhysFS.GetCDROMDrives());
|
||
|
}
|
||
|
|
||
|
private void RefreshSearchPathButton_Click(object sender, System.EventArgs e)
|
||
|
{
|
||
|
// Clear ths listbox if it contains any items
|
||
|
SearchPathList.Items.Clear();
|
||
|
// Add the items to the list
|
||
|
SearchPathList.Items.AddRange(PhysFS.GetSearchPath());
|
||
|
}
|
||
|
|
||
|
private void AddSearchPathButton_Click(object sender, System.EventArgs e)
|
||
|
{
|
||
|
// Add search path
|
||
|
PhysFS.AddToSearchPath(NewSearchPathText.Text, false);
|
||
|
// Clear ths listbox if it contains any items
|
||
|
SearchPathList.Items.Clear();
|
||
|
// Add the items to the list
|
||
|
SearchPathList.Items.AddRange(PhysFS.GetSearchPath());
|
||
|
}
|
||
|
|
||
|
private void RemovePathButton_Click(object sender, System.EventArgs e)
|
||
|
{
|
||
|
if(SearchPathList.SelectedItem != null)
|
||
|
{
|
||
|
PhysFS.RemoveFromSearchPath(SearchPathList.SelectedItem.ToString());
|
||
|
// Clear ths listbox if it contains any items
|
||
|
SearchPathList.Items.Clear();
|
||
|
// Add the items to the list
|
||
|
SearchPathList.Items.AddRange(PhysFS.GetSearchPath());
|
||
|
}
|
||
|
}
|
||
|
|
||
|
private void RefreshEnumList_Click(object sender, System.EventArgs e)
|
||
|
{
|
||
|
EnumList.Items.Clear();
|
||
|
EnumList.Items.AddRange(PhysFS.EnumerateFiles(EnumFilesPath.Text));
|
||
|
}
|
||
|
}
|
||
|
}
|