using DataLoader.CS;
|
using DataLoader.Model;
|
using System;
|
using System.Linq;
|
using System.Collections.Generic;
|
using System.Collections.ObjectModel;
|
using System.Windows;
|
using System.Windows.Controls;
|
using System.Windows.Input;
|
|
namespace DataLoader
|
{
|
public partial class ResWin : Window
|
{
|
private TreeItem items = new TreeItem();
|
|
private List<SysDir> dirs;
|
|
private CheckBox cbLast;
|
|
public ResWin()
|
{
|
InitializeComponent();
|
}
|
|
private void Border_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
|
{
|
//
|
}
|
|
private void Window_Loaded(object sender, RoutedEventArgs e)
|
{
|
dirs = DBHelper.GetDirList();
|
if (null == dirs || 0 == dirs.Count) return;
|
|
FindTreeItems(dirs, items, 0);
|
this.tvResTree.ItemsSource = items.Child;
|
}
|
|
private void FindTreeItems(List<SysDir> list, TreeItem ti, int pid)
|
{
|
if (ti.Child == null) ti.Child = new ObservableCollection<TreeItem>();
|
foreach (SysDir dir in list)
|
{
|
if (pid == dir.pid)
|
{
|
TreeItem item = new TreeItem();
|
item.ID = dir.id;
|
item.Name = dir.name;
|
item.FullName = dir.fullName;
|
item.IsExpanded = true;
|
ti.Child.Add(item);
|
|
FindTreeItems(list, item, dir.id);
|
}
|
}
|
}
|
|
private void CheckBox_Click(object sender, RoutedEventArgs e)
|
{
|
CheckBox cb = sender as CheckBox;
|
if (cb.IsChecked == true)
|
{
|
if (null != this.cbLast) this.cbLast.IsChecked = false;
|
this.cbLast = cb;
|
}
|
else
|
{
|
this.cbLast = null;
|
}
|
}
|
|
private void Window_Closing(object sender, System.ComponentModel.CancelEventArgs e)
|
{
|
SysDir dir = null;
|
if (this.cbLast != null)
|
{
|
int id = int.Parse(this.cbLast.Tag.ToString());
|
dir = (from d in dirs where d.id == id select d).First<SysDir>();
|
}
|
|
CommonProp.Owner.resWin = null;
|
CommonProp.Owner.SetRes(null == dir ? null : dir.code, null == dir ? null : dir.fullName);
|
}
|
}
|
}
|