@ -29,42 +29,40 @@ namespace ICSharpCode.TreeView.Demo
{
{
return FullPath ;
return FullPath ;
}
}
//
public override bool CanCopy ( SharpTreeNode [ ] nodes )
// public override bool CanCopy(SharpTreeNode[] nodes)
{
// {
return true ;
// return true;
}
// }
public override IDataObject Copy ( SharpTreeNode [ ] nodes )
public override IDataObject Copy ( SharpTreeNode [ ] nodes )
{
{
var data = new DataObject ( ) ;
var data = new DataObject ( ) ;
var paths = SharpTreeNode . ActiveN odes. Cast < FileSystemNode > ( ) . Select ( n = > n . FullPath ) . ToArray ( ) ;
var paths = n odes. OfType < FileSystemNode > ( ) . Select ( n = > n . FullPath ) . ToArray ( ) ;
data . SetData ( typeof ( string [ ] ) , paths ) ;
data . SetData ( typeof ( string [ ] ) , paths ) ;
return data ;
return data ;
}
}
//
public override bool CanPaste ( IDataObject data )
// public override bool CanPaste(IDataObject data)
// {
// return true;
// }
//
public override bool CanDelete ( )
{
{
return true ;
return true ;
}
}
public override bool CanDelete ( SharpTreeNode [ ] nodes )
public override void Delete ( )
{
return nodes . All ( n = > n . Parent ! = null ) ;
}
public override void Delete ( SharpTreeNode [ ] nodes )
{
{
if ( MessageBox . Show ( "Sure?" , "Delete" , MessageBoxButton . OKCancel ) = = MessageBoxResult . OK ) {
if ( MessageBox . Show ( "Sure?" , "Delete" , MessageBoxButton . OKCancel ) = = MessageBoxResult . OK ) {
DeleteCore ( nodes ) ;
DeleteCore ( ) ;
}
}
}
}
public override void DeleteCore ( SharpTreeNode [ ] nodes )
public override void DeleteCore ( )
{
{
foreach ( var node in nodes . ToArray ( ) ) {
this . Parent . Children . Remove ( this ) ;
node . Parent . Children . Remove ( node ) ;
}
}
}
public override bool CanDrag ( SharpTreeNode [ ] nodes )
public override bool CanDrag ( SharpTreeNode [ ] nodes )
@ -72,19 +70,19 @@ namespace ICSharpCode.TreeView.Demo
return true ;
return true ;
}
}
ContextMenu menu ;
// ContextMenu menu;
//
public override ContextMenu GetContextMenu ( )
// public override ContextMenu GetContextMenu()
{
// {
if ( menu = = null ) {
// if (menu == null) {
menu = new ContextMenu ( ) ;
// menu = new ContextMenu();
menu . Items . Add ( new MenuItem ( ) { Command = ApplicationCommands . Cut } ) ;
// menu.Items.Add(new MenuItem() { Command = ApplicationCommands.Cut });
menu . Items . Add ( new MenuItem ( ) { Command = ApplicationCommands . Copy } ) ;
// menu.Items.Add(new MenuItem() { Command = ApplicationCommands.Copy });
menu . Items . Add ( new MenuItem ( ) { Command = ApplicationCommands . Paste } ) ;
// menu.Items.Add(new MenuItem() { Command = ApplicationCommands.Paste });
menu . Items . Add ( new Separator ( ) ) ;
// menu.Items.Add(new Separator());
menu . Items . Add ( new MenuItem ( ) { Command = ApplicationCommands . Delete } ) ;
// menu.Items.Add(new MenuItem() { Command = ApplicationCommands.Delete });
}
// }
return menu ;
// return menu;
}
// }
}
}
}
}