1 /*
2  *  "GEDKeeper", the personal genealogical database editor.
3  *  Copyright (C) 2009-2018 by Sergey V. Zhdanovskih.
4  *
5  *  This file is part of "GEDKeeper".
6  *
7  *  This program is free software: you can redistribute it and/or modify
8  *  it under the terms of the GNU General Public License as published by
9  *  the Free Software Foundation, either version 3 of the License, or
10  *  (at your option) any later version.
11  *
12  *  This program is distributed in the hope that it will be useful,
13  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
14  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  *  GNU General Public License for more details.
16  *
17  *  You should have received a copy of the GNU General Public License
18  *  along with this program.  If not, see <http://www.gnu.org/licenses/>.
19  */
20 
21 using System;
22 using GKCore;
23 using GKCore.Controllers;
24 using GKCore.Interfaces;
25 using GKCore.MVP.Views;
26 using GKCore.Tools;
27 using GKUI.Components;
28 
29 namespace GKUI.Forms
30 {
31     public sealed partial class TTTreeSplitDlg : CommonDialog, ITreeSplitDlg
32     {
33         private readonly TreeSplitController fController;
34 
35         #region View Interface
36 
37         IListViewEx ITreeSplitDlg.SelectedList
38         {
39             get { return ListSelected; }
40         }
41 
42         IListViewEx ITreeSplitDlg.SkippedList
43         {
44             get { return ListSkipped; }
45         }
46 
47         #endregion
48 
TTTreeSplitDlg(IBaseWindow baseWin)49         public TTTreeSplitDlg(IBaseWindow baseWin)
50         {
51             InitializeComponent();
52 
53             btnClose.Image = UIHelper.LoadResourceImage("Resources.btn_cancel.gif");
54 
55             ListSelected.AddColumn("-", 300);
56             ListSkipped.AddColumn("-", 300);
57 
58             fController = new TreeSplitController(this);
59             fController.Init(baseWin);
60 
61             SetLocale();
62         }
63 
SetLocale()64         public void SetLocale()
65         {
66             Title = LangMan.LS(LSID.LSID_ToolOp_3);
67             pageTreeSplit.Text = LangMan.LS(LSID.LSID_ToolOp_3);
68             btnClose.Text = LangMan.LS(LSID.LSID_DlgClose);
69             btnSelectAll.Text = LangMan.LS(LSID.LSID_SelAll);
70             btnSelectFamily.Text = LangMan.LS(LSID.LSID_SelFamily);
71             btnSelectAncestors.Text = LangMan.LS(LSID.LSID_SelAncestors);
72             btnSelectDescendants.Text = LangMan.LS(LSID.LSID_SelDescendants);
73             btnDelete.Text = LangMan.LS(LSID.LSID_DoDelete);
74             btnSave.Text = LangMan.LS(LSID.LSID_MIFileSaveAs);
75 
76             ListSelected.SetColumnCaption(0, LangMan.LS(LSID.LSID_Person));
77             ListSkipped.SetColumnCaption(0, LangMan.LS(LSID.LSID_Person));
78         }
79 
btnSelectFamily_Click(object sender, EventArgs e)80         private void btnSelectFamily_Click(object sender, EventArgs e)
81         {
82             fController.Select(TreeTools.TreeWalkMode.twmFamily);
83         }
84 
btnSelectAncestors_Click(object sender, EventArgs e)85         private void btnSelectAncestors_Click(object sender, EventArgs e)
86         {
87             fController.Select(TreeTools.TreeWalkMode.twmAncestors);
88         }
89 
btnSelectDescendants_Click(object sender, EventArgs e)90         private void btnSelectDescendants_Click(object sender, EventArgs e)
91         {
92             fController.Select(TreeTools.TreeWalkMode.twmDescendants);
93         }
94 
btnSelectAll_Click(object sender, EventArgs e)95         private void btnSelectAll_Click(object sender, EventArgs e)
96         {
97             fController.Select(TreeTools.TreeWalkMode.twmAll);
98         }
99 
btnDelete_Click(object sender, EventArgs e)100         private void btnDelete_Click(object sender, EventArgs e)
101         {
102             fController.Delete();
103         }
104 
btnSave_Click(object sender, EventArgs e)105         private void btnSave_Click(object sender, EventArgs e)
106         {
107             fController.Save();
108         }
109     }
110 }
111