C# Class BExplorer.Shell.ShellView

The ShellFileListView class that visualize contents of a directory
Inheritance: System.Windows.Forms.UserControl
Afficher le fichier Open project: Gainedge/BetterExplorer Class Usage Examples

Méthodes publiques

Свойство Type Description
AllAvailableColumns Collumns>.Dictionary
BadgesData Dictionary>>
Collumns List
CurrentRefreshedItemIndex Int32
Groups List
IsCancelRequested Boolean
IsFocusAllowed Boolean
IsNavigationCancelRequested Boolean
IsNavigationInProgress Boolean
IsRenameInProgress Boolean
IsSearchNavigating Boolean
IsViewSelectionAllowed Boolean
LargeImageList ImageListEx
SmallImageList ImageListEx
ToolTip ToolTip

Private Properties

Свойство Type Description
AutosizeColumn void
Column_OnClick void
Do_Copy_OR_Move_Helper void
Do_Copy_OR_Move_Helper_2 void
Drag_SetEffect void
DrawComputerTiledModeView void
DrawNormalFolderSubitemsInTiledView void
EndLabelEdit void
GenerateGroupsFromColumn void
GetBadgeForPath IListItemEx
GetFilePropertiesString String
GetFirstIndexOf Int32
GetFirstSelectedItem IListItemEx
InitializeComponent void
LoadSettingsFromDatabase Boolean
Navigate void
NavigateSearch void
OnItemMiddleClick void
OnSelectionChanged void
PrepareSearchQuery String
ProcessCustomDraw void
ProcessCustomDrawPostPaint void
ProcessShellNotifications void
QueueDeleteItem void
RedrawWindow void
RedrawWindow void
RenameItem void
ResortListViewItems void
RetrieveThumbnailByIndex void
SetSortIcon void
ShellView_GotFocus void
ShellView_KeyDown Boolean
ShellView_MouseUp void
StartProcessInCurrentDirectory void
ThreadRun_Helper Boolean
ToLvItemIndex LVITEMINDEX
UpdateColsInView void
UpdateIconCacheForFolder void
WndProc void
_MaintenanceTimer_Tick void
_UnvalidateTimer_Tick void
resetTimer_Tick void
selectionTimer_Tick void

Méthodes publiques

Méthode Description
AutosizeAllColumns ( Int32 autosizeParam ) : void

Automatically resize all controls

CancelNavigation ( ) : void

Cancels navigation

ClearFolderIcon ( String wszPath ) : HResult

Removes the folder's icon

CopySelectedFiles ( ) : void
CreateNewFolder ( String name ) : String

Creates a new folder in the current directory and assigns a default name if none is specified. Returns the name

CreateNewLibrary ( String name ) : ShellLibrary

Creates a new library folder

CutSelectedFiles ( ) : void
DeSelectAllItems ( ) : void

Sets focus to tis control then deselects all items

DeleteSelectedFiles ( Boolean isRecycling ) : void
DisableGroups ( ) : void

Disables/Removes grouping

DoCopy ( System.Windows.Forms dataObject, IListItemEx destination ) : void
DoCopy ( IListItemEx destination ) : void
DoCopy ( System dataObject, IListItemEx destination ) : void
DoMove ( System.Windows.Forms dataObject, IListItemEx destination ) : void
DoMove ( IListItemEx destination ) : void
DoMove ( System dataObject, IListItemEx destination ) : void
EnableGroups ( ) : void

Enables/Adds groupings

Focus ( Boolean isActiveCheck = true, Boolean isForce = false ) : void

Gives the ShellListView focus

GetFirstSelectedItemIndex ( ) : Int32

Returns the first selected item's index OR -1 if there is no selected item

GetGroupIndex ( Int32 itemIndex ) : Int32
GetIntPtrFromData ( Object data ) : IntPtr
GetSelectedCount ( ) : Int32
InsertNewItem ( IListItemEx obj ) : Int32

Inserts a new item into the control If and only If it is new. Returns the item's index OR -1 if already existing

InvertSelection ( ) : void

Inverse the selection of items

IsDropDescriptionValid ( System dataObject ) : Boolean
IsShowingLayered ( System.Windows.Forms dataObject ) : Boolean
NavigateParent ( ) : void

Navigates to the parent of the currently displayed folder.

Navigate_Full ( IListItemEx destination, Boolean saveFolderSettings, Boolean isInSameTab = false, Boolean refresh = false ) : void

Navigate to a folder, set it as the current folder and optionally save the folder's settings to the database.

Navigate_Full ( String SearchQuery, Boolean saveFolderSettings, Boolean isInSameTab = false, Boolean refresh = false ) : void

Navigates to a search folder

OpenOrNavigateItem ( ) : void

If the Current item IsFolder Then navigate to it Else open item

OpenShareUI ( ) : void
PasteAvailableFiles ( ) : void
RaiseItemUpdated ( ItemUpdateType type, IListItemEx old, IListItemEx newItem, Int32 index ) : void
RaiseMiddleClickOnItem ( IListItemEx item ) : void
RaiseRecycleBinUpdated ( ) : void
RedrawItem ( Int32 index, Int32 delay = -1 ) : void
RefreshContents ( ) : void

Refreshes the contact (by navigating to the current folder If and only If the current folder is not null)

RefreshItem ( Int32 index, Boolean isForceRedraw = false ) : void

Refreshes a single item

RemoveAllCollumns ( ) : void
RenameSelectedItem ( ) : void

Renames the first selected item

RenameSelectedItem ( Int32 index ) : void

Renames the item at the specified index

RenameShellItem ( IShellItem item, String newName, Boolean isAddFileExtension, String extension = "" ) : void
ResetFolderSettings ( ) : void

Resets the current folder's settings by deting it from the SQLIte database

ResizeIcons ( Int32 value ) : void

Resizes the icons

SaveSettingsToDatabase ( IListItemEx destination ) : void

Saves the current destination settings to the SQLite database

SelectAll ( ) : void

Selects all items and sets this to focus

SelectItemByIndex ( Int32 index, Boolean ensureVisability = false, Boolean deselectOthers = false ) : void

Set this to focus then select an item by its index

SelectItems ( IListItemEx shellObjectArray ) : void

Selects only the specified items. First runs DeSelectAllItems Then selects all items on a separate thread.

SetColInView ( Collumns col, Boolean remove ) : void
SetFolderIcon ( String wszPath, String wszExpandedIconPath, Int32 iIcon ) : void

Sets the folder's icon

SetGroupOrder ( Boolean reverse = true ) : void

Sets the Sort order of the Groups

SetSortCollumn ( Boolean isReorder, Collumns column, SortOrder order, Boolean reverseOrder = true ) : void
ShellView ( ) : BExplorer.Shell._Plugin_Interfaces

Main constructor

ShowPropPage ( IntPtr HWND, String filename, String proppage ) : void
UnvalidateDirectory ( ) : void

Invalidates the director

Starts restarts _UnvalidateTimer

UpdateItem ( IListItemEx obj1, IListItemEx obj2 ) : void
UpdateItem ( Int32 index ) : void

Méthodes protégées

Méthode Description
Dispose ( bool disposing ) : void

Clean up any resources being used.

OnDragDrop ( System.Windows.Forms e ) : void
OnDragEnter ( System.Windows.Forms e ) : void
OnDragLeave ( EventArgs e ) : void
OnDragOver ( System.Windows.Forms e ) : void
OnGiveFeedback ( System.Windows.Forms e ) : void
OnHandleCreated ( EventArgs e ) : void
OnHandleDestroyed ( EventArgs e ) : void
OnQueryContinueDrag ( System.Windows.Forms e ) : void
OnSizeChanged ( EventArgs e ) : void

Private Methods

Méthode Description
AutosizeColumn ( Int32 index, Int32 autosizeStyle ) : void
Column_OnClick ( Int32 iItem ) : void
Do_Copy_OR_Move_Helper ( Boolean copy, IListItemEx destination, IShellItem items ) : void
Do_Copy_OR_Move_Helper_2 ( Boolean copy, IListItemEx destination, System.Windows.Forms dataObject ) : void
Drag_SetEffect ( System.Windows.Forms e ) : void
DrawComputerTiledModeView ( IListItemEx sho, Graphics g, RectangleF lblrectTiles, StringFormat fmt ) : void
DrawNormalFolderSubitemsInTiledView ( IListItemEx sho, RectangleF lblrectTiles, Graphics g, StringFormat fmt ) : void
EndLabelEdit ( Boolean isCancel = false ) : void
GenerateGroupsFromColumn ( Collumns col, Boolean reversed = false ) : void
GetBadgeForPath ( String path ) : IListItemEx
GetFilePropertiesString ( Object value ) : String
GetFirstIndexOf ( String search, Int32 startindex ) : Int32

Returns the index of the first item whose display name starts with the search string.

GetFirstSelectedItem ( ) : IListItemEx
InitializeComponent ( ) : void

Required method for Designer support - do not modify the contents of this method with the code editor.

LoadSettingsFromDatabase ( IListItemEx directory, FolderSettings &folderSettings ) : Boolean
Navigate ( IListItemEx destination, Boolean isInSameTab = false, Boolean refresh = false, Boolean isCancel = false ) : void
NavigateSearch ( IListItemEx destination, Boolean isInSameTab = false, Boolean refresh = false, Boolean isCancel = false ) : void
OnItemMiddleClick ( ) : void
OnSelectionChanged ( ) : void
PrepareSearchQuery ( String query ) : String
ProcessCustomDraw ( Message &m, NMHDR &nmhdr ) : void
ProcessCustomDrawPostPaint ( Message &m, User32 nmlvcd, Int32 index, IntPtr hdc, IListItemEx sho, Color textColor ) : void
ProcessShellNotifications ( Message &m ) : void
QueueDeleteItem ( FileSystemEventArgs args ) : void
RedrawWindow ( ) : void
RedrawWindow ( User32 rect ) : void
RenameItem ( Int32 index ) : void
ResortListViewItems ( ) : void
RetrieveThumbnailByIndex ( Int32 index ) : void
SetSortIcon ( Int32 columnIndex, SortOrder order ) : void

This is only to be used in SetSortCollumn(...)

ShellView_GotFocus ( ) : void
ShellView_KeyDown ( Keys e ) : Boolean
ShellView_MouseUp ( Object sender, MouseEventArgs e ) : void
StartProcessInCurrentDirectory ( IListItemEx item ) : void
ThreadRun_Helper ( SyncQueue queue, Boolean useComplexCheck, Int32 &index ) : Boolean
ToLvItemIndex ( Int32 index ) : LVITEMINDEX
UpdateColsInView ( Boolean isDetails = false ) : void
UpdateIconCacheForFolder ( String wszPath ) : void
WndProc ( Message &m ) : void
_MaintenanceTimer_Tick ( Object sender, EventArgs e ) : void
_UnvalidateTimer_Tick ( Object sender, EventArgs e ) : void
resetTimer_Tick ( Object sender, EventArgs e ) : void
selectionTimer_Tick ( Object sender, EventArgs e ) : void

Method Details

AutosizeAllColumns() public méthode

Automatically resize all controls
public AutosizeAllColumns ( Int32 autosizeParam ) : void
autosizeParam System.Int32 ??
Résultat void

CancelNavigation() public méthode

Cancels navigation
public CancelNavigation ( ) : void
Résultat void

ClearFolderIcon() public méthode

Removes the folder's icon
public ClearFolderIcon ( String wszPath ) : HResult
wszPath String ??
Résultat HResult

CopySelectedFiles() public méthode

public CopySelectedFiles ( ) : void
Résultat void

CreateNewFolder() public méthode

Creates a new folder in the current directory and assigns a default name if none is specified. Returns the name
public CreateNewFolder ( String name ) : String
name String The name of the new folder
Résultat String

CreateNewLibrary() public méthode

Creates a new library folder
public CreateNewLibrary ( String name ) : ShellLibrary
name String The name of the lbrary folder youi want
Résultat ShellLibrary

CutSelectedFiles() public méthode

public CutSelectedFiles ( ) : void
Résultat void

DeSelectAllItems() public méthode

Sets focus to tis control then deselects all items
public DeSelectAllItems ( ) : void
Résultat void

DeleteSelectedFiles() public méthode

public DeleteSelectedFiles ( Boolean isRecycling ) : void
isRecycling Boolean
Résultat void

DisableGroups() public méthode

Disables/Removes grouping
public DisableGroups ( ) : void
Résultat void

Dispose() protected méthode

Clean up any resources being used.
protected Dispose ( bool disposing ) : void
disposing bool true if managed resources should be disposed; otherwise, false.
Résultat void

DoCopy() public méthode

public DoCopy ( System.Windows.Forms dataObject, IListItemEx destination ) : void
dataObject System.Windows.Forms
destination IListItemEx
Résultat void

DoCopy() public méthode

public DoCopy ( IListItemEx destination ) : void
destination IListItemEx
Résultat void

DoCopy() public méthode

public DoCopy ( System dataObject, IListItemEx destination ) : void
dataObject System
destination IListItemEx
Résultat void

DoMove() public méthode

public DoMove ( System.Windows.Forms dataObject, IListItemEx destination ) : void
dataObject System.Windows.Forms
destination IListItemEx
Résultat void

DoMove() public méthode

public DoMove ( IListItemEx destination ) : void
destination IListItemEx
Résultat void

DoMove() public méthode

public DoMove ( System dataObject, IListItemEx destination ) : void
dataObject System
destination IListItemEx
Résultat void

EnableGroups() public méthode

Enables/Adds groupings
public EnableGroups ( ) : void
Résultat void

Focus() public méthode

Gives the ShellListView focus
public Focus ( Boolean isActiveCheck = true, Boolean isForce = false ) : void
isActiveCheck Boolean Require this application's MainWindow to be activate the control
isForce Boolean Force this to make the control active no matter what
Résultat void

GetFirstSelectedItemIndex() public méthode

Returns the first selected item's index OR -1 if there is no selected item
public GetFirstSelectedItemIndex ( ) : Int32
Résultat Int32

GetGroupIndex() public méthode

public GetGroupIndex ( Int32 itemIndex ) : Int32
itemIndex Int32
Résultat Int32

GetIntPtrFromData() public static méthode

public static GetIntPtrFromData ( Object data ) : IntPtr
data Object
Résultat IntPtr

GetSelectedCount() public méthode

public GetSelectedCount ( ) : Int32
Résultat Int32

InsertNewItem() public méthode

Inserts a new item into the control If and only If it is new. Returns the item's index OR -1 if already existing
public InsertNewItem ( IListItemEx obj ) : Int32
obj IListItemEx The item you want to insert
Résultat Int32

InvertSelection() public méthode

Inverse the selection of items
public InvertSelection ( ) : void
Résultat void

IsDropDescriptionValid() public static méthode

public static IsDropDescriptionValid ( System dataObject ) : Boolean
dataObject System
Résultat Boolean

IsShowingLayered() public static méthode

public static IsShowingLayered ( System.Windows.Forms dataObject ) : Boolean
dataObject System.Windows.Forms
Résultat Boolean

NavigateParent() public méthode

Navigates to the parent of the currently displayed folder.
public NavigateParent ( ) : void
Résultat void

Navigate_Full() public méthode

Navigate to a folder, set it as the current folder and optionally save the folder's settings to the database.
public Navigate_Full ( IListItemEx destination, Boolean saveFolderSettings, Boolean isInSameTab = false, Boolean refresh = false ) : void
destination IListItemEx The folder you want to navigate to.
saveFolderSettings Boolean Should the folder's settings be saved?
isInSameTab Boolean
refresh Boolean Should the List be Refreshed?
Résultat void

Navigate_Full() public méthode

Navigates to a search folder
public Navigate_Full ( String SearchQuery, Boolean saveFolderSettings, Boolean isInSameTab = false, Boolean refresh = false ) : void
SearchQuery String The query of the search
saveFolderSettings Boolean Should the folder's settings be saved?
isInSameTab Boolean
refresh Boolean Should the List be Refreshed?
Résultat void

OnDragDrop() protected méthode

protected OnDragDrop ( System.Windows.Forms e ) : void
e System.Windows.Forms
Résultat void

OnDragEnter() protected méthode

protected OnDragEnter ( System.Windows.Forms e ) : void
e System.Windows.Forms
Résultat void

OnDragLeave() protected méthode

protected OnDragLeave ( EventArgs e ) : void
e EventArgs
Résultat void

OnDragOver() protected méthode

protected OnDragOver ( System.Windows.Forms e ) : void
e System.Windows.Forms
Résultat void

OnGiveFeedback() protected méthode

protected OnGiveFeedback ( System.Windows.Forms e ) : void
e System.Windows.Forms
Résultat void

OnHandleCreated() protected méthode

protected OnHandleCreated ( EventArgs e ) : void
e EventArgs
Résultat void

OnHandleDestroyed() protected méthode

protected OnHandleDestroyed ( EventArgs e ) : void
e EventArgs
Résultat void

OnQueryContinueDrag() protected méthode

protected OnQueryContinueDrag ( System.Windows.Forms e ) : void
e System.Windows.Forms
Résultat void

OnSizeChanged() protected méthode

protected OnSizeChanged ( EventArgs e ) : void
e EventArgs
Résultat void

OpenOrNavigateItem() public méthode

If the Current item IsFolder Then navigate to it Else open item
public OpenOrNavigateItem ( ) : void
Résultat void

OpenShareUI() public méthode

public OpenShareUI ( ) : void
Résultat void

PasteAvailableFiles() public méthode

public PasteAvailableFiles ( ) : void
Résultat void

RaiseItemUpdated() public méthode

public RaiseItemUpdated ( ItemUpdateType type, IListItemEx old, IListItemEx newItem, Int32 index ) : void
type ItemUpdateType
old IListItemEx
newItem IListItemEx
index Int32
Résultat void

RaiseMiddleClickOnItem() public méthode

public RaiseMiddleClickOnItem ( IListItemEx item ) : void
item IListItemEx
Résultat void

RaiseRecycleBinUpdated() public méthode

public RaiseRecycleBinUpdated ( ) : void
Résultat void

RedrawItem() public méthode

public RedrawItem ( Int32 index, Int32 delay = -1 ) : void
index Int32
delay Int32
Résultat void

RefreshContents() public méthode

Refreshes the contact (by navigating to the current folder If and only If the current folder is not null)
public RefreshContents ( ) : void
Résultat void

RefreshItem() public méthode

Refreshes a single item
public RefreshItem ( Int32 index, Boolean isForceRedraw = false ) : void
index Int32 The index of the item you want to refresh
isForceRedraw Boolean If True Resets everything in the Item to indicate that it needs to be refreshed/reloaded
Résultat void

RemoveAllCollumns() public méthode

public RemoveAllCollumns ( ) : void
Résultat void

RenameSelectedItem() public méthode

Renames the first selected item
public RenameSelectedItem ( ) : void
Résultat void

RenameSelectedItem() public méthode

Renames the item at the specified index
public RenameSelectedItem ( Int32 index ) : void
index Int32 The index of the item you want to rename
Résultat void

RenameShellItem() public méthode

public RenameShellItem ( IShellItem item, String newName, Boolean isAddFileExtension, String extension = "" ) : void
item IShellItem
newName String
isAddFileExtension Boolean
extension String
Résultat void

ResetFolderSettings() public méthode

Resets the current folder's settings by deting it from the SQLIte database
public ResetFolderSettings ( ) : void
Résultat void

ResizeIcons() public méthode

Resizes the icons
public ResizeIcons ( Int32 value ) : void
value Int32 The icon size you want
Résultat void

SaveSettingsToDatabase() public méthode

Saves the current destination settings to the SQLite database
public SaveSettingsToDatabase ( IListItemEx destination ) : void
destination IListItemEx The destination whos settings you want to save
Résultat void

SelectAll() public méthode

Selects all items and sets this to focus
public SelectAll ( ) : void
Résultat void

SelectItemByIndex() public méthode

Set this to focus then select an item by its index
public SelectItemByIndex ( Int32 index, Boolean ensureVisability = false, Boolean deselectOthers = false ) : void
index Int32 Index of item
ensureVisability Boolean Ensure that the item is visible?
deselectOthers Boolean Deselect all other items?
Résultat void

SelectItems() public méthode

Selects only the specified items. First runs DeSelectAllItems Then selects all items on a separate thread.
public SelectItems ( IListItemEx shellObjectArray ) : void
shellObjectArray IListItemEx
Résultat void

SetColInView() public méthode

public SetColInView ( Collumns col, Boolean remove ) : void
col Collumns
remove Boolean
Résultat void

SetFolderIcon() public méthode

Sets the folder's icon
public SetFolderIcon ( String wszPath, String wszExpandedIconPath, Int32 iIcon ) : void
wszPath String ??
wszExpandedIconPath String ??
iIcon Int32 ??
Résultat void

SetGroupOrder() public méthode

Sets the Sort order of the Groups
public SetGroupOrder ( Boolean reverse = true ) : void
reverse Boolean Reverse the Current Sort Order?
Résultat void

SetSortCollumn() public méthode

public SetSortCollumn ( Boolean isReorder, Collumns column, SortOrder order, Boolean reverseOrder = true ) : void
isReorder Boolean
column Collumns
order SortOrder
reverseOrder Boolean
Résultat void

ShellView() public méthode

Main constructor
public ShellView ( ) : BExplorer.Shell._Plugin_Interfaces
Résultat BExplorer.Shell._Plugin_Interfaces

ShowPropPage() public méthode

public ShowPropPage ( IntPtr HWND, String filename, String proppage ) : void
HWND IntPtr
filename String
proppage String
Résultat void

UnvalidateDirectory() public méthode

Invalidates the director
Starts restarts _UnvalidateTimer
public UnvalidateDirectory ( ) : void
Résultat void

UpdateItem() public méthode

public UpdateItem ( IListItemEx obj1, IListItemEx obj2 ) : void
obj1 IListItemEx
obj2 IListItemEx
Résultat void

UpdateItem() public méthode

public UpdateItem ( Int32 index ) : void
index Int32
Résultat void

Property Details

AllAvailableColumns public_oe property

public Dictionary AllAvailableColumns
Résultat Collumns>.Dictionary

BadgesData public_oe property

public Dictionary>> BadgesData
Résultat Dictionary>>

Collumns public_oe property

public List Collumns
Résultat List

CurrentRefreshedItemIndex public_oe property

public Int32 CurrentRefreshedItemIndex
Résultat Int32

Groups public_oe property

public List Groups
Résultat List

IsCancelRequested public_oe property

public Boolean IsCancelRequested
Résultat Boolean

IsFocusAllowed public_oe property

public Boolean IsFocusAllowed
Résultat Boolean

IsNavigationCancelRequested public_oe property

public Boolean IsNavigationCancelRequested
Résultat Boolean

IsNavigationInProgress public_oe property

public Boolean IsNavigationInProgress
Résultat Boolean

IsRenameInProgress public_oe property

public Boolean IsRenameInProgress
Résultat Boolean

IsSearchNavigating public_oe property

Are we/have we navigated to a search folder
public Boolean IsSearchNavigating
Résultat Boolean

IsViewSelectionAllowed public_oe property

public Boolean IsViewSelectionAllowed
Résultat Boolean

LargeImageList public_oe property

public ImageListEx LargeImageList
Résultat ImageListEx

SmallImageList public_oe property

public ImageListEx SmallImageList
Résultat ImageListEx

ToolTip public_oe property

public ToolTip ToolTip
Résultat ToolTip