diff --git a/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj b/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj index 8d79c6701d..4d1f1800d2 100644 --- a/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj +++ b/BizHawk.Client.EmuHawk/BizHawk.Client.EmuHawk.csproj @@ -66,6 +66,9 @@ true + + ..\References\GongShell.dll + ..\References\ICSharpCode.SharpZipLib.dll diff --git a/BizHawk.Client.EmuHawk/Extensions/ToolExtensions.cs b/BizHawk.Client.EmuHawk/Extensions/ToolExtensions.cs index 9f911e7766..b10bdc3d6f 100644 --- a/BizHawk.Client.EmuHawk/Extensions/ToolExtensions.cs +++ b/BizHawk.Client.EmuHawk/Extensions/ToolExtensions.cs @@ -37,7 +37,8 @@ namespace BizHawk.Client.EmuHawk.ToolExtensions }; //TODO - use standard methods to split filename (hawkfile acquire?) - var hf = new HawkFile(temp); + var hf = new HawkFile(); + hf.Parse(temp); bool canExplore = true; if (!File.Exists(hf.FullPathWithoutMember)) canExplore = false; @@ -50,31 +51,56 @@ namespace BizHawk.Client.EmuHawk.ToolExtensions var timestamp = File.GetLastWriteTime(hf.FullPathWithoutMember); var tsmiTimestamp = new ToolStripLabel { Text = timestamp.ToString() }; - //make a menuitem to let you explore to it - var tsmiExplore = new ToolStripMenuItem { Text = "&Explore" }; - tsmiExplore.Click += (o, ev) => { System.Diagnostics.Process.Start("explorer.exe", "/select, " + hf.FullPathWithoutMember); }; - - //make a menuitem to let you copy the path - var tsmiCopyPath = new ToolStripMenuItem { Text = "&Copy Canonical Path" }; - tsmiCopyPath.Click += (o, ev) => { System.Windows.Forms.Clipboard.SetText(temp); }; - tsdd.Items.Add(tsmiTimestamp); - var sep = new ToolStripSeparator(); - tsdd.Items.Add(sep); - tsdd.Items.Add(tsmiExplore); - tsdd.Items.Add(tsmiCopyPath); - - //make a special action to open archive in default archiver + tsdd.Items.Add(new ToolStripSeparator()); + + + if (hf.IsArchive) { - var tsmiOpenArchive = new ToolStripMenuItem { Text = "Open &Archive" }; - tsmiOpenArchive.Click += (o, ev) => { System.Diagnostics.Process.Start(hf.FullPathWithoutMember); }; - tsdd.Items.Add(tsmiOpenArchive); + //make a menuitem to let you copy the path + var tsmiCopyCanonicalPath = new ToolStripMenuItem { Text = "&Copy Canonical Path" }; + tsmiCopyCanonicalPath.Click += (o, ev) => { System.Windows.Forms.Clipboard.SetText(temp); }; + tsdd.Items.Add(tsmiCopyCanonicalPath); var tsmiCopyArchivePath = new ToolStripMenuItem { Text = "Copy Archive Path" }; tsmiCopyArchivePath.Click += (o, ev) => { System.Windows.Forms.Clipboard.SetText(hf.FullPathWithoutMember); }; tsdd.Items.Add(tsmiCopyArchivePath); + + var tsmiOpenArchive = new ToolStripMenuItem { Text = "Open &Archive" }; + tsmiOpenArchive.Click += (o, ev) => { System.Diagnostics.Process.Start(hf.FullPathWithoutMember); }; + tsdd.Items.Add(tsmiOpenArchive); } + else + { + //make a menuitem to let you copy the path + var tsmiCopyPath = new ToolStripMenuItem { Text = "&Copy Path" }; + tsmiCopyPath.Click += (o, ev) => { System.Windows.Forms.Clipboard.SetText(temp); }; + tsdd.Items.Add(tsmiCopyPath); + } + + tsdd.Items.Add(new ToolStripSeparator()); + + //make a menuitem to let you explore to it + var tsmiExplore = new ToolStripMenuItem { Text = "&Explore" }; + tsmiExplore.Click += (o, ev) => { System.Diagnostics.Process.Start("explorer.exe", "/select, " + hf.FullPathWithoutMember); }; + tsdd.Items.Add(tsmiExplore); + + var tsmiCopyFile = new ToolStripMenuItem { Text = "Copy &File" }; + var lame = new System.Collections.Specialized.StringCollection(); + lame.Add(hf.FullPathWithoutMember); + tsmiCopyFile.Click += (o, ev) => { System.Windows.Forms.Clipboard.SetFileDropList(lame); }; + tsdd.Items.Add(tsmiCopyFile); + + var tsmiTest = new ToolStripMenuItem { Text = "&Shell Context Menu" }; + tsmiTest.Click += (o, ev) => { + var si = new GongSolutions.Shell.ShellItem(hf.FullPathWithoutMember); + var scm = new GongSolutions.Shell.ShellContextMenu(si); + var tsddi = o as ToolStripDropDownItem; + tsddi.Owner.Update(); + scm.ShowContextMenu(tsddi.Owner, new System.Drawing.Point(0, 0)); + }; + tsdd.Items.Add(tsmiTest); tsdd.Items.Add(new ToolStripSeparator()); } diff --git a/BizHawk.Common/HawkFile.cs b/BizHawk.Common/HawkFile.cs index 8a48801380..fc307b0d6d 100644 --- a/BizHawk.Common/HawkFile.cs +++ b/BizHawk.Common/HawkFile.cs @@ -43,6 +43,7 @@ namespace BizHawk.Common private string _memberPath; private Stream _rootStream, _boundStream; private IHawkFileArchiveHandler _extractor; + private bool _isArchive; private List _archiveItems; private int? _boundIndex; @@ -89,6 +90,11 @@ namespace BizHawk.Common /// public string FullPathWithoutMember { get { return _rootPath; } } + /// + /// returns the member path part of the bound file + /// + public string ArchiveMemberPath { get { return _memberPath; } } + /// /// returns the extension of Name /// @@ -97,7 +103,7 @@ namespace BizHawk.Common /// /// Indicates whether this file is an archive /// - public bool IsArchive { get { return _extractor != null; } } + public bool IsArchive { get { return _isArchive; } } public IList ArchiveItems { @@ -167,6 +173,26 @@ namespace BizHawk.Common /// public string[] NonArchiveExtensions = { }; + /// + /// Parses the given filename to create an un-opened HawkFile with some information available about its path constitution + /// + public void Parse(string path) + { + bool isArchivePath = IsCanonicalArchivePath(path); + if (isArchivePath) + { + var parts = path.Split('|'); + path = parts[0]; + _memberPath = parts[1]; + //we're gonna assume, on parsing, that this is + _isArchive = true; + } + _rootPath = path; + } + + /// + /// Parses the given filename and then opens it. This may take a while (the archive may be accessed and scanned). + /// public void Open(string path) { if (_rootPath != null) @@ -419,6 +445,7 @@ namespace BizHawk.Common try { ScanArchive(); + _isArchive = true; } catch { diff --git a/References/GongShell.XML b/References/GongShell.XML new file mode 100644 index 0000000000..4b8bb16660 --- /dev/null +++ b/References/GongShell.XML @@ -0,0 +1,1795 @@ + + + + GongShell + + + + + Provides a toolbar showing common places in the computer's + filesystem. + + + + Use the control to display a + toolbar listing common places in the computer's filesystem, + similar to that on the far left-side of the standard file + open/save dialogs. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Initializes a new instance of the + class. + + + + + Adds a new folder to the toolbar. + + + + A representing the folder to be added. + + + + true if the item was sucessfully added, false otherwise. + + + + + Overrides the method. + + + + + + A that should be automatically + navigated when the user clicks on an entry in the toolbar. + + + + + Occurs when the control wants to + know if it should include an item. + + + + This event allows the items displayed in the + control to be filtered. + + + + + This property does not apply to the + class. + + + + + This property is not relevant to the + class. + + + + + This property is not relevant to the + class. + + + + + This property is not relevant to the + class. + + + + + This property is not relevant to the + class. + + + + + This property is not relevant to the + class. + + + + + This property is not relevant to the + class. + + + + + This property is not relevant to the + class. + + + + + This property is not relevant to the + class. + + + + + This property is not relevant to the + class. + + + + + This property is not relevant to the + class. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + A filename combo box suitable for use in file Open/Save dialogs. + + + + + This control extends the class to provide + auto-completion of filenames based on the folder selected in a + . The control also automatically navigates + the ShellView control when the user types a folder path. + + + + + + Determines whether the specified key is a regular input key or a + special key that requires preprocessing. + + + + One of the values. + + + + true if the specified key is a regular input key; otherwise, false. + + + + + Raises the event. + + + + A that contains the event data. + + + + + Raises the event. + + + + A that contains the event data. + + + + + Raises the event. + + + + An that contains the event data. + + + + + Initializes a new instance of the + class. + + + + + Gets/sets the control that the + should look for auto-completion + hints. + + + + + Occurs when a file name is entered into the + and the Return key pressed. + + + + + Provides a drop-down list displaying the Windows Shell namespace. + + + + The class displays a view of the Windows + Shell namespace in a drop-down list similar to that displayed in + a file open/save dialog. + + + + + Initializes a new instance of the class. + + + + + Gets/sets a value indicating whether the combo box is editable. + + + + + Gets/sets a value indicating whether the full file system path + should be displayed in the main portion of the control. + + + + + Gets/sets the folder that the should + display as the root folder. + + + + + Gets/sets the folder currently selected in the + . + + + + + Gets/sets a whose navigation should be + controlled by the combo box. + + + + + Occurs when the 's + property changes. + + + + + Occurs when the control wants to know + if it should include a folder in its view. + + + + This event allows the folders displayed in the + control to be filtered. + + + + + Represents an item in the Windows Shell namespace. + + + + + Initializes a new instance of the class. + + + + Takes a containing the location of the ShellItem. + This constructor accepts URIs using two schemes: + + - file: A file or folder in the computer's filesystem, e.g. + file:///D:/Folder + - shell: A virtual folder, or a file or folder referenced from + a virtual folder, e.g. shell:///Personal/file.txt + + + + A containing the location of the ShellItem. + + + + + Initializes a new instance of the class. + + + + Takes a containing the location of the ShellItem. + This constructor accepts URIs using two schemes: + + - file: A file or folder in the computer's filesystem, e.g. + file:///D:/Folder + - shell: A virtual folder, or a file or folder referenced from + a virtual folder, e.g. shell:///Personal/file.txt + + + + A string containing a Uri with the location of the ShellItem. + + + + + Initializes a new instance of the class. + + + + Takes an containing the + location of the folder. + + + + An containing the + location of the folder. + + + + + Initializes a new instance of the class. + + + + Creates a ShellItem which is a named child of . + + + + The parent folder of the item. + + + + The name of the child item. + + + + + Initializes a new instance of the class. + + + + An representing the folder. + + + + + Compares two s. The comparison is carried + out by display order. + + + + The item to compare. + + + + 0 if the two items are equal. A negative number if + is before in + display order. A positive number if + comes after in + display order. + + + + + Determines whether two s refer to + the same shell folder. + + + + The item to compare. + + + + if the two objects refer to the same + folder, otherwise. + + + + + Returns the name of the item in the specified style. + + + + The style of display name to return. + + + + A string containing the display name of the item. + + + + + Returns an enumerator detailing the child items of the + . + + + + This method returns all child item including hidden + items. + + + + An enumerator over all child items. + + + + + Returns an enumerator detailing the child items of the + . + + + + A filter describing the types of child items to be included. + + + + An enumerator over all child items. + + + + + Returns an enumerator detailing the child items of the + . + + + + This method returns all child item including hidden + items. + + + + An enumerator over all child items. + + + + + Returns an representing the + item. This object is used in drag and drop operations. + + + + + Returns an representing the + item. This object is used in drag and drop operations. + + + + + Returns an representing the + item. + + + + + Gets the index in the system image list of the icon representing + the item. + + + + The type of icon to retrieve. + + + + Flags detailing additional information to be conveyed by the icon. + + + + + + + Tests whether the is the immediate parent + of another item. + + + + The potential child item. + + + + + Tests whether the is the parent of + another item. + + + + The potential child item. + + + + + Returns a string representation of the . + + + + + Returns a URI representation of the . + + + + + Tests if two s refer to the same folder. + + + + The first folder. + + + + The second folder. + + + + + Tests if two s refer to the same folder. + + + + The first folder. + + + + The second folder. + + + + + Gets a child item. + + + + The name of the child item. + + + + + Gets the underlying COM interface. + + + + + Gets the normal display name of the item. + + + + + Gets the file system path of the item. + + + + + Gets a value indicating whether the item has subfolders. + + + + + Gets a value indicating whether the item is a file system item. + + + + + Gets a value indicating whether the item is a file system item + or the child of a file system item. + + + + + Gets a value indicating whether the item is a folder. + + + + + Gets a value indicating whether the item is read-only. + + + + + Gets the item's parent. + + + + + Gets the item's parsing name. + + + + + Gets a PIDL representing the item. + + + + + Gets the item's shell icon. + + + + + Gets the item's tooltip text. + + + + + Gets the Desktop folder. + + + + + Enumerates the types of shell icons. + + + + The system large icon type + + + The system shell icon type + + + The system small icon type + + + + Enumerates the optional styles that can be applied to shell icons. + + + + The icon is displayed opened. + + + Get the overlay for the icon as well. + + + + Provides support for displaying the context menu of a shell item. + + + + + Use this class to display a context menu for a shell item, either + as a popup menu, or as a main menu. + + + + To display a popup menu, simply call + with the parent control and the position at which the menu should + be shown. + + + + To display a shell context menu in a Form's main menu, call the + method to populate the menu. In addition, + you must intercept a number of special messages that will be sent + to the menu's parent form. To do this, you must override + like so: + + + + protected override void WndProc(ref Message m) { + if ((m_ContextMenu == null) || (!m_ContextMenu.HandleMenuMessage(ref m))) { + base.WndProc(ref m); + } + } + + + + Where m_ContextMenu is the being shown. + + + Standard menu commands can also be invoked from this class, for + example and . + + + + + Initialises a new instance of the + class. + + + + The item to which the context menu should refer. + + + + + Initialises a new instance of the + class. + + + + The items to which the context menu should refer. + + + + + Handles context menu messages when the + is displayed on a Form's main menu bar. + + + + + To display a shell context menu in a Form's main menu, call the + method to populate the menu with the shell + item's menu items. In addition, you must intercept a number of + special messages that will be sent to the menu's parent form. To + do this, you must override like so: + + + + protected override void WndProc(ref Message m) { + if ((m_ContextMenu == null) || (!m_ContextMenu.HandleMenuMessage(ref m))) { + base.WndProc(ref m); + } + } + + + + Where m_ContextMenu is the being shown. + + + + + The message to handle. + + + + if the message was a Shell Context Menu + message, if not. If the method returns false, + then the message should be passed down to the base class's + method. + + + + + Invokes the Delete command on the shell item. + + + + + Invokes the Rename command on the shell item. + + + + + Populates a with the context menu items for + a shell item. + + + + If this method is being used to populate a Form's main menu + then you need to call in the + Form's message handler. + + + + The menu to populate. + + + + + Shows a context menu for a shell item. + + + + The parent control. + + + + The position on that the menu + should be displayed at. + + + + + Gets the underlying COM interface. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Provides a toolbar suitable for use in file Open/Save dialogs. + + + + This control provides a toolbar containing a + and the various navigation buttons as + found in a standard file dialog. By setting the + property, the toolbar will automatically + control the navigation of a ShellView> control in response to the + user's actions. + + + + + Required designer variable. + + + + + Clean up any resources being used. + + true if managed resources should be disposed; otherwise, false. + + + + Required method for Designer support - do not modify + the contents of this method with the code editor. + + + + + Initializes a new instance of the FileDialogToolbar control. + + + + + Gets/sets the root folder displayed in the toolbar's drop-down + folder list. + + + + + Gets/sets the folder currently selected in the toolbar's combo box. + + + + + Gets/sets a whose navigation should be + controlled by the toolbar. + + + + + Occurs when the needs to know + what items it should display in its drop-down list. + + + + + A file-filter combo box suitable for use in open/save file dialogs. + + + + + This control extends the class to provide + automatic filtering of shell items according to wildcard patterns. + By setting the control's property, the control + will automatically filter items in a ShellView. + + + + The property accepts a filter string + similar to that accepted by the standard + class, for example: + "Text files (*.txt)|*.txt|All files (*.*)|*.*" + + + + The currently selected filter is selected by the + property. This should be set to one of the filter patterns specified + in , e.g. "*.txt". + + + + + + Initializes a new instance of the + class. + + + + + Generates a object equivalent to the + provided wildcard. + + + + The wildcard to generate a regex for. + + + + A regex equivalent to the wildcard. + + + + + Raises the event. + + + + An EventArgs that contains the event data. + + + + + Gets or sets the current filter string, which determines the + items that appear in the control's . + + + + + This property does not apply to . + + + + + Gets/sets the filter string which determines the choices that + appear in the control's drop-down list. + + + + + For each filtering option, the filter string contains a + description of the filter, followed by the vertical bar (|) and + the filter pattern. The strings for different filtering options + are separated by the vertical bar. + + + + If the filter itself does not appear in the description then + it will be automatically added when the control is displayed. + For example, in the example below the "Video files" entry will + be displayed as "Video files (*.avi, *.wmv)". Beacuse the "All + files" entry already has the filter string present in its + description, it will not be added again. + + + + + "Video files|*.avi, *.wmv|All files (*.*)|*.*" + + + + + + + This property does not apply to . + + + + + Gets/sets the control that the + should filter the items of. + + + + + Provides a tree view of a computer's folders. + + + + + The control allows you to embed Windows + Explorer functionality in your Windows Forms applications. The + control provides a tree view of the computer's folders, as it would + appear in the left-hand pane in Explorer. + + + + + + Initializes a new instance of the class. + + + + + Refreses the contents of the . + + + + + Gets/sets a value indicating whether drag/drop operations are + allowed on the control. + + + + + Gets or sets a value indicating whether a tree node label takes on + the appearance of a hyperlink as the mouse pointer passes over it. + + + + + Gets or sets the root folder that is displayed in the + . + + + + + Gets/sets a whose navigation should be + controlled by the treeview. + + + + + Gets or sets the selected folder in the + . + + + + + Gets or sets a value indicating whether hidden folders should + be displayed in the tree. + + + + + Occurs when the property changes. + + + + + This property does not apply to the + class. + + + + Describes whether hidden files/folders should be displayed in a + control. + + + + Hidden files/folders should not be displayed. + + + + + Hidden files/folders should be displayed. + + + + + The Windows Explorer "Show hidden files" setting should be used + to determine whether to show hidden files/folders. + + + + + Listens for notifications of changes in the Windows Shell Namespace. + + + + + Initializes a new instance of the + class. + + + + + Initializes a new instance of the + class. + + + + + Overrides the method. + + + + + + Occurs when a drive is added. + + + + + Occurs when a drive is removed. + + + + + Occurs when a folder is created. + + + + + Occurs when a folder is deleted. + + + + + Occurs when a folder is renamed. + + + + + Occurs when a folder's contents are updated. + + + + + Occurs when a non-folder item is created. + + + + + Occurs when a non-folder item is deleted. + + + + + Occurs when a non-folder item is renamed. + + + + + Occurs when a non-folder item is updated. + + + + + Occurs when the shared state for a folder changes. + + + + + Provides information of changes in the Windows Shell Namespace. + + + + + Initializes a new instance of the + class. + + + + The ShellItem that has changed. + + + + + The ShellItem that has changed. + + + + + Provides information of changes in the Windows Shell Namespace. + + + + + Initializes a new instance of the + class. + + + + The ShellItem before the change + + + + The ShellItem after the change + + + + + The ShellItem before the change. + + + + + The ShellItem after the change. + + + + + Represents the method that handles change notifications from + + + + + The source of the event. + + + + A that contains the data + for the event. + + + + + Represents the method that handles change notifications from + + + + + The source of the event. + + + + A that contains the data + for the event. + + + + + Specifies how list items are displayed in a + control. + + + + + Each item appears as a full-sized icon with a label below it. + + + + + Each item appears as a small icon with a label to its right. + + + + + Each item appears as a small icon with a label to its right. + Items are arranged in columns with no column headers. + + + + + Each item appears on a separate line with further information + about each item arranged in columns. The left-most column + contains a small icon and label. + + + + + Each item appears with a thumbnail picture of the file's content. + + + + + Each item appears as a full-sized icon with the item label and + file information to the right of it. + + + + + Each item appears in a thumbstrip at the bottom of the control, + with a large preview of the seleted item appearing above. + + + + + Provides a view of a computer's files and folders. + + + + + The control allows you to embed Windows + Explorer functionality in your Windows Forms applications. The + control provides a view of a single folder's contents, as it would + appear in the right-hand pane in Explorer. + + + + When a new control is added to a form, + it displays the contents of the Desktop folder. Other folders + can be displayed by calling one of the Navigate methods or setting + the property. + + + + + + Initializes a new instance of the class. + + + + + Creates a new folder in the folder currently being browsed. + + + + + Deletes the item currently selected in the . + + + + + Navigates to the specified . + + + + The folder to navigate to. + + + + + Navigates to the specified filesystem directory. + + + + The path of the directory to navigate to. + + + + is not a valid folder. + + + + + Navigates to the specified standard location. + + + + The to which to navigate. + + + + Standard locations are virtual folders which may be located in + different places in different versions of Windows. For example + the "My Documents" folder is normally located at C:\My Documents + on Windows 98, but is located in the user's "Documents and + Settings" folder in Windows XP. Using a standard + to refer to such folders + ensures that your application will behave correctly on all + versions of Windows. + + + + + Navigates the control to the previous folder + in the navigation history. + + + + + The WebBrowser control maintains a history list of all the folders + visited during a session. You can use the + method to implement a Back button similar to the one in + Windows Explorer, which will allow your users to return to a + previous folder in the navigation history. + + + + Use the property to determine whether + the navigation history is available and contains a previous page. + This property is useful, for example, to change the enabled state + of a Back button when the ShellView control navigates to or leaves + the beginning of the navigation history. + + + + + There is no history to navigate backwards through. + + + + + Navigates the control backwards to the + requested folder in the navigation history. + + + + The WebBrowser control maintains a history list of all the folders + visited during a session. You can use the + method to implement a drop-down menu on a Back button similar + to the one in Windows Explorer, which will allow your users to return + to a previous folder in the navigation history. + + + + The folder to navigate to. + + + + The requested folder is not present in the + 's 'back' history. + + + + + Navigates the control to the next folder + in the navigation history. + + + + + The WebBrowser control maintains a history list of all the folders + visited during a session. You can use the + method to implement a Forward button similar to the one + in Windows Explorer, allowing your users to return to the next + folder in the navigation history after navigating backward. + + + + Use the property to determine + whether the navigation history is available and contains a folder + located after the current one. This property is useful, for + example, to change the enabled state of a Forward button + when the ShellView control navigates to or leaves the end of the + navigation history. + + + + + There is no history to navigate forwards through. + + + + + Navigates the control forwards to the + requested folder in the navigation history. + + + + The WebBrowser control maintains a history list of all the folders + visited during a session. You can use the + method to implement a drop-down menu + on a Forward button similar to the one in Windows Explorer, + which will allow your users to return to a folder in the 'forward' + navigation history. + + + + The folder to navigate to. + + + + The requested folder is not present in the + 's 'forward' history. + + + + + Navigates to the parent of the currently displayed folder. + + + + + Navigates to the folder currently selected in the + . + + + + If the 's + property is set, and more than one item is selected in the + ShellView, the first Folder found will be navigated to. + + + + if a selected folder could be + navigated to, otherwise. + + + + + Refreshes the contents of the . + + + + + Begins a rename on the item currently selected in the + . + + + + + Selects all items in the . + + + + + Overrides + + + + + + + Creates the actual shell view control. + + + + + Overrides . + + + + + + + + Overrides . + + + + + + + Overrides + + + + + + + + Overrides + + + + + + Gets a value indicating whether a new folder can be created in + the folder currently being browsed by th . + + + + + Gets a value indicating whether a previous page in navigation + history is available, which allows the + method to succeed. + + + + + Gets a value indicating whether a subsequent page in navigation + history is available, which allows the + method to succeed. + + + + + Gets a value indicating whether the folder currently being browsed + by the has parent folder which can be + navigated to by calling . + + + + + Gets the control's underlying COM IShellView interface. + + + + + Gets/sets a describing the folder + currently being browsed by the . + + + + + Gets the 's navigation history. + + + + + Gets a list of the items currently selected in the + + + + + A array detailing the items currently + selected in the control. If no items are currently selected, + an empty array is returned. + + + + + Gets/sets a value indicating whether multiple items can be selected + by the user. + + + + + Gets/sets a value indicating whether a "WebView" is displayed on + the left of the control. + + + + The WebView is a strip of HTML that appears to the left of a + Windows Explorer window when the window has no Explorer Bar. + It displays general system tasks and locations, as well as + information about the items selected in the window. + + + Important: When is set to + , the + event will not occur. This is due to a limitation in the + underlying windows control. + + + + + + Gets/sets a control that the + should use to display folder details. + + + + + Gets or sets how items are displayed in the control. + + + + + Occurs when the control wants to know + if it should include an item in its view. + + + + This event allows the items displayed in the + control to be filtered. You may want to to only list files with + a certain extension, for example. + + + + + Occurs when the control navigates to a + new folder. + + + + + Occurs when the control is about to + navigate to a new folder. + + + + + Occurs when the 's current selection + changes. + + + + Important: When is set to + , this event will not occur. This is due to + a limitation in the underlying windows control. + + + + + This property does not apply to . + + + + + This property does not apply to . + + + + + This property does not apply to . + + + + + Provides information for FilterItem events. + + + + + Initializes a new instance of the + class. + + + + The item to be filtered. + + + + + Gets/sets a value which will determine whether the item will be + included in the . + + + + + The item to be filtered. + + + + + Provides information for the + event. + + + + + Initializes a new instance of the + class. + + + + The folder being navigated to. + + + + + Gets/sets a value indicating whether the navigation should be + cancelled. + + + + + The folder being navigated to. + + + + + Exception raised when a user aborts a Shell operation. + + + + + Initializes a new instance of the + class. + + + + The inner exception. + + + + + Represents the method that will handle FilterItem events. + + + + + Represents the method that will handle the + event. + + + + + Holds a 's navigation history. + + + + + Clears the shell history. + + + + + Gets the list of folders in the 's + Back history. + + + + + Gets the list of folders in the 's + Forward history. + + + + diff --git a/References/GongShell.dll b/References/GongShell.dll new file mode 100644 index 0000000000..ee48480b75 Binary files /dev/null and b/References/GongShell.dll differ