cec-config-gui: no longer showing modal device info windows
[deb_libcec.git] / src / cec-config-gui / AsyncForm.cs
1 using System;
2 using System.Windows.Forms;
3
4 namespace CecConfigGui
5 {
6 public class AsyncForm : Form
7 {
8 delegate void SetControlEnabledCallback(Control control, bool val);
9 public void SetControlEnabled(Control control, bool val)
10 {
11 if (control.InvokeRequired)
12 {
13 SetControlEnabledCallback d = new SetControlEnabledCallback(SetControlEnabled);
14 try
15 {
16 this.Invoke(d, new object[] { control, val });
17 }
18 catch (Exception) { }
19 }
20 else
21 {
22 control.Enabled = val;
23 }
24 }
25
26 delegate void SetControlTextCallback(Control control, string val);
27 public void SetControlText(Control control, string val)
28 {
29 if (control.InvokeRequired)
30 {
31 SetControlTextCallback d = new SetControlTextCallback(SetControlText);
32 try
33 {
34 this.Invoke(d, new object[] { control, val });
35 }
36 catch (Exception) { }
37 }
38 else
39 {
40 control.Text = val;
41 }
42 }
43
44 delegate void SetCheckboxCheckedCallback(CheckBox control, bool val);
45 public void SetCheckboxChecked(CheckBox control, bool val)
46 {
47 if (control.InvokeRequired)
48 {
49 SetCheckboxCheckedCallback d = new SetCheckboxCheckedCallback(SetCheckboxChecked);
50 try
51 {
52 this.Invoke(d, new object[] { control, val });
53 }
54 catch (Exception) { }
55 }
56 else
57 {
58 control.Checked = val;
59 }
60 }
61
62 delegate void SetProgressValueCallback(ProgressBar control, int val);
63 public void SetProgressValue(ProgressBar control, int val)
64 {
65 if (control.InvokeRequired)
66 {
67 SetProgressValueCallback d = new SetProgressValueCallback(SetProgressValue);
68 try
69 {
70 this.Invoke(d, new object[] { control, val });
71 }
72 catch (Exception) { }
73 }
74 else
75 {
76 control.Value = val;
77 }
78 }
79
80 delegate void SetComboBoxItemsCallback(ComboBox control, string selectedText, object[] val);
81 public void SetComboBoxItems(ComboBox control, string selectedText, object[] val)
82 {
83 if (control.InvokeRequired)
84 {
85 SetComboBoxItemsCallback d = new SetComboBoxItemsCallback(SetComboBoxItems);
86 try
87 {
88 this.Invoke(d, new object[] { control, selectedText, val });
89 }
90 catch (Exception) { }
91 }
92 else
93 {
94 control.Items.Clear();
95 control.Items.AddRange(val);
96 control.Text = selectedText;
97 }
98 }
99
100 delegate void SetControlVisibleCallback(Control control, bool val);
101 public void SetControlVisible(Control control, bool val)
102 {
103 if (control.InvokeRequired)
104 {
105 SetControlVisibleCallback d = new SetControlVisibleCallback(SetControlVisible);
106 try
107 {
108 this.Invoke(d, new object[] { control, val });
109 }
110 catch (Exception) { }
111 }
112 else
113 {
114 control.Visible = val;
115 }
116 }
117
118 delegate void DisplayDialogCallback(Form control, bool modal);
119 public void DisplayDialog(Form control, bool modal)
120 {
121 if (this.InvokeRequired)
122 {
123 DisplayDialogCallback d = new DisplayDialogCallback(DisplayDialog);
124 try
125 {
126 this.Invoke(d, new object[] { control, modal });
127 }
128 catch (Exception) { }
129 }
130 else
131 {
132 if (modal)
133 control.ShowDialog(this);
134 else
135 control.Show(this);
136 }
137 }
138 }
139 }