OSDN Git Service

WinGui:
[handbrake-jp/handbrake-jp-git.git] / win / C# / Controls / Decomb.cs
1 /*  Decomb.cs $\r
2         \r
3            This file is part of the HandBrake source code.\r
4            Homepage: <http://handbrake.fr/>.\r
5            It may be used under the terms of the GNU General Public License. */\r
6 \r
7 using System;\r
8 using System.Windows.Forms;\r
9 \r
10 namespace Handbrake\r
11 {\r
12     public partial class Decomb : UserControl\r
13     {\r
14         public Decomb()\r
15         {\r
16             InitializeComponent();\r
17             drop_decomb.SelectedIndex = 0;\r
18         }\r
19 \r
20         private void drop_decomb_SelectedIndexChanged(object sender, EventArgs e)\r
21         {\r
22             if (drop_decomb.Text == "Custom")\r
23                 text_custom.Visible = true;\r
24             else\r
25                 text_custom.Visible = false;\r
26 \r
27             valueChanged(null);\r
28         }\r
29 \r
30         public string getDropValue\r
31         {\r
32             get { return drop_decomb.Text; }\r
33         }\r
34 \r
35         public string getCustomValue\r
36         {\r
37             get { return text_custom.Text; }\r
38         }\r
39 \r
40         public string getCLIQuery\r
41         {\r
42             get\r
43             {\r
44                 string query;\r
45                 switch (drop_decomb.Text)\r
46                 {\r
47                     case "Off":\r
48                         query = "";\r
49                         break;\r
50                     case "Default":\r
51                         query = " --decomb";\r
52                         break;\r
53                     case "Custom":\r
54                         query = " --decomb=\"" + text_custom.Text + "\"";\r
55                         break;\r
56                     default:\r
57                         query = "";\r
58                         break;\r
59                 }\r
60                 return query;\r
61             }\r
62         }\r
63 \r
64         public void setOption(string value)\r
65         {\r
66             text_custom.Text = "";\r
67             text_custom.Visible = false;\r
68             switch (value)\r
69             {\r
70                 case "Off":\r
71                     drop_decomb.SelectedIndex = 0;\r
72                     break;\r
73                 case "Default":\r
74                     drop_decomb.SelectedIndex = 1;\r
75                     break;\r
76                 default:\r
77                     drop_decomb.SelectedIndex = 2;\r
78                     text_custom.Text = value;\r
79                     text_custom.Visible = true;\r
80                     break;\r
81             }\r
82         }\r
83 \r
84         public event EventHandler onChange;\r
85         protected virtual void valueChanged(EventArgs e)\r
86         {\r
87             if (onChange != null)\r
88                 onChange(this, e);\r
89         }\r
90 \r
91     }\r
92 }\r