Skip to content

Commit a9ae615

Browse files
committed
TreeViewColumnEx modify
1 parent 605cb4d commit a9ae615

File tree

5 files changed

+79
-31
lines changed

5 files changed

+79
-31
lines changed

CustomUI/TreeViewColumnEx.cs

Lines changed: 24 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,14 @@ public class TreeViewColumnEx : TreeViewColumn
99
{
1010
public String bindingPropertyName = "";
1111
private Gtk.ListStore listStore1 = null;
12-
13-
public CellRendererText _mkCellRendererText(TreeView treeView, string title = "", int minWidth = 0, int maxWidth = 0,
12+
private Gtk.TreeView treeView = null;
13+
14+
public CellRendererText _mkCellRendererText(TreeView treeView1, string title = "", int minWidth = 0, int maxWidth = 0,
1415
bool isEditable = true, bool isExpand = false, bool isPackStart = true , bool isAutoEdit = true,bool isAutoSize = false)
1516
{
17+
18+
treeView = treeView1;
19+
1620
if (title != "")
1721
{
1822
this.Title = title;
@@ -25,17 +29,18 @@ public CellRendererText _mkCellRendererText(TreeView treeView, string title = ""
2529
if (maxWidth != 0)
2630
{
2731
this.MaxWidth = maxWidth;
28-
}
32+
}
2933

3034
this.Expand = isExpand;
3135
this.Sizing = isAutoSize ? TreeViewColumnSizing.Autosize : TreeViewColumnSizing.Fixed;
3236
this.PackStart(CellRendererText1, isPackStart);
33-
listStore1 = (ListStore)treeView.Model;
37+
3438
if (isEditable)
3539
{
3640
CellRendererText1.Editable = isAutoEdit;
3741
CellRendererText1.Edited += delegate(object o, EditedArgs args)
3842
{
43+
listStore1 = (ListStore)treeView.Model;
3944
Gtk.CellRendererTextEx o1 = (Gtk.CellRendererTextEx)o;
4045
TreePath treePath1 = new TreePath(args.Path);
4146
TreeIter iter;
@@ -80,9 +85,11 @@ public CellRendererPixbuf _mkCellRendererPixbuf(TreeView treeView, string title
8085
return CellRendererPixbuf1;
8186
}
8287

83-
public CellRendererToggle _mkCellRendererToggle(TreeView treeView, string title = "", int minWidth = 0,int maxWidth = 0,
88+
public CellRendererToggle _mkCellRendererToggle(TreeView treeView1, string title = "", int minWidth = 0,int maxWidth = 0,
8489
bool isToggled = false, bool isExpand = false, bool isPackStart = true,bool isAutoSize = false)
8590
{
91+
treeView = treeView1;
92+
8693
if (title != "")
8794
{
8895
this.Title = title;
@@ -99,11 +106,12 @@ public CellRendererToggle _mkCellRendererToggle(TreeView treeView, string title
99106
}
100107
this.Expand = isExpand;
101108
this.Sizing = isAutoSize ? TreeViewColumnSizing.Autosize : TreeViewColumnSizing.Fixed;
102-
listStore1 = (ListStore)treeView.Model;
109+
103110
if (isToggled)
104111
{
105112
CellRendererToggle1.Toggled += delegate(object o, ToggledArgs args)
106113
{
114+
listStore1 = (ListStore)treeView.Model;
107115
TreeIter iter;
108116
if (listStore1.GetIterFromString(out iter, args.Path))
109117
{
@@ -172,6 +180,7 @@ private void _RenderCellDo(Gtk.TreeViewColumn column, Gtk.CellRenderer cell,
172180
}
173181
object modelData = (object)model.GetValue(iter, 0);
174182
object value = modelData._performSelector_Property(column1.bindingPropertyName);
183+
175184
_setCellData(value, cell);
176185
}
177186
catch (Exception e)
@@ -196,6 +205,9 @@ private void _setCellData(object value, Gtk.CellRenderer cell)
196205
}else if (value != null && cell is Gtk.CellRendererText && (value is long))
197206
{
198207
(cell as Gtk.CellRendererText).Text = ((long)value).ToString();
208+
}else if (value != null && cell is Gtk.CellRendererText && (value is decimal))
209+
{
210+
(cell as Gtk.CellRendererText).Text = ((decimal)value).ToString();
199211
}
200212
else if (value != null && cell is Gtk.CellRendererText && (value is DateTime))
201213
{
@@ -226,10 +238,15 @@ private void _setCellData(object value, Gtk.CellRenderer cell)
226238
(cell as Gtk.CellRendererProgress).Value = (int)value;
227239
}
228240
}
229-
230241
private void _setModelData(object modelData1, String bindingPropertyName1, String value)
231242
{
232243
Type t = modelData1._getKata(bindingPropertyName1);
244+
245+
if (t.ToString().IndexOf("System.Nullable") != -1)
246+
{
247+
t = Nullable.GetUnderlyingType(t);
248+
}
249+
233250
if (value != null && t.Equals(typeof(String)))
234251
{
235252
modelData1._setSelector_Property(bindingPropertyName1, Convert.ToString(value));

TreeViewGenerator/MainWindow+ColumnView.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ void _mkColumnTableTreeView()
1818
Gtk.TreeViewColumnEx TitleColumn = new Gtk.TreeViewColumnEx ();
1919
TitleColumn.Title = "Column";
2020
TitleColumn.bindingPropertyName = "title";
21-
CellRendererText cell = TitleColumn._mkCellRendererText(columnView , "",100,false);
21+
CellRendererText cell = TitleColumn._mkCellRendererText(columnView , "",100,100,false);
2222

2323
Gtk.TreeViewColumnEx isNgTimerColumn = new Gtk.TreeViewColumnEx ();
2424
isNgTimerColumn.Title = "OutPut";

TreeViewGenerator/MainWindow+DbTreeView.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ void _mkDbTreeView()
4444
Gtk.TreeViewColumnEx TitleColumn = new Gtk.TreeViewColumnEx ();
4545
TitleColumn.Title = "Db";
4646
TitleColumn.bindingPropertyName = "title";
47-
CellRendererText cell = TitleColumn._mkCellRendererText(dataBaseView , "",100,false);
47+
CellRendererText cell = TitleColumn._mkCellRendererText(dataBaseView , "",100,100,false);
4848
dataBaseView._mkBinding();
4949

5050
}

TreeViewGenerator/MainWindow+TableView.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ void _mkTableTreeView()
2121
Gtk.TreeViewColumnEx TitleColumn = new Gtk.TreeViewColumnEx ();
2222
TitleColumn.Title = "Table";
2323
TitleColumn.bindingPropertyName = "title";
24-
CellRendererText cell = TitleColumn._mkCellRendererText(tableView , "",100,false);
24+
CellRendererText cell = TitleColumn._mkCellRendererText(tableView , "",100,100,false);
2525
tableView._mkBinding();
2626

2727
}

TreeViewGenerator/core_commonclasses/UI/TreeViewColumnEx.cs

Lines changed: 52 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -9,30 +9,38 @@ public class TreeViewColumnEx : TreeViewColumn
99
{
1010
public String bindingPropertyName = "";
1111
private Gtk.ListStore listStore1 = null;
12-
13-
public CellRendererText _mkCellRendererText(TreeView treeView, string title = "", int width = 0,
12+
private Gtk.TreeView treeView = null;
13+
14+
public CellRendererText _mkCellRendererText(TreeView treeView1, string title = "", int minWidth = 0, int maxWidth = 0,
1415
bool isEditable = true, bool isExpand = false, bool isPackStart = true , bool isAutoEdit = true,bool isAutoSize = false)
1516
{
17+
18+
treeView = treeView1;
19+
1620
if (title != "")
1721
{
1822
this.Title = title;
1923
}
2024
Gtk.CellRendererTextEx CellRendererText1 = new Gtk.CellRendererTextEx();
21-
if (width != 0)
25+
if (minWidth != 0)
2226
{
23-
this.MinWidth = width;
27+
this.MinWidth = minWidth;
2428
}
25-
29+
if (maxWidth != 0)
30+
{
31+
this.MaxWidth = maxWidth;
32+
}
33+
2634
this.Expand = isExpand;
2735
this.Sizing = isAutoSize ? TreeViewColumnSizing.Autosize : TreeViewColumnSizing.Fixed;
2836
this.PackStart(CellRendererText1, isPackStart);
29-
listStore1 = (ListStore)treeView.Model;
37+
3038
if (isEditable)
3139
{
32-
3340
CellRendererText1.Editable = isAutoEdit;
3441
CellRendererText1.Edited += delegate(object o, EditedArgs args)
3542
{
43+
listStore1 = (ListStore)treeView.Model;
3644
Gtk.CellRendererTextEx o1 = (Gtk.CellRendererTextEx)o;
3745
TreePath treePath1 = new TreePath(args.Path);
3846
TreeIter iter;
@@ -49,7 +57,7 @@ public CellRendererText _mkCellRendererText(TreeView treeView, string title = ""
4957
return CellRendererText1;
5058
}
5159

52-
public CellRendererPixbuf _mkCellRendererPixbuf(TreeView treeView, string title = "", int width = 0,
60+
public CellRendererPixbuf _mkCellRendererPixbuf(TreeView treeView, string title = "",int minWidth = 0,int maxWidth = 0,
5361
bool isExpand = false, bool isPackStart = true,bool isAutoSize = false)
5462
{
5563
if (title != "")
@@ -59,9 +67,13 @@ public CellRendererPixbuf _mkCellRendererPixbuf(TreeView treeView, string title
5967

6068
Gtk.CellRendererPixbuf CellRendererPixbuf1 = new Gtk.CellRendererPixbuf();
6169

62-
if (width != 0)
70+
if (minWidth != 0)
71+
{
72+
this.MinWidth = minWidth;
73+
}
74+
if (maxWidth != 0)
6375
{
64-
this.MinWidth = width;
76+
this.MaxWidth = maxWidth;
6577
}
6678

6779
this.Expand = isExpand;
@@ -73,27 +85,33 @@ public CellRendererPixbuf _mkCellRendererPixbuf(TreeView treeView, string title
7385
return CellRendererPixbuf1;
7486
}
7587

76-
public CellRendererToggle _mkCellRendererToggle(TreeView treeView, string title = "", int width = 0,
88+
public CellRendererToggle _mkCellRendererToggle(TreeView treeView1, string title = "", int minWidth = 0,int maxWidth = 0,
7789
bool isToggled = false, bool isExpand = false, bool isPackStart = true,bool isAutoSize = false)
7890
{
91+
treeView = treeView1;
92+
7993
if (title != "")
8094
{
8195
this.Title = title;
8296
}
8397

8498
Gtk.CellRendererToggle CellRendererToggle1 = new Gtk.CellRendererToggle();
85-
if (width != 0)
99+
if (minWidth != 0)
86100
{
87-
this.MinWidth = width;
101+
this.MinWidth = minWidth;
102+
}
103+
if (maxWidth != 0)
104+
{
105+
this.MaxWidth = maxWidth;
88106
}
89-
90107
this.Expand = isExpand;
91108
this.Sizing = isAutoSize ? TreeViewColumnSizing.Autosize : TreeViewColumnSizing.Fixed;
92-
listStore1 = (ListStore)treeView.Model;
109+
93110
if (isToggled)
94111
{
95112
CellRendererToggle1.Toggled += delegate(object o, ToggledArgs args)
96113
{
114+
listStore1 = (ListStore)treeView.Model;
97115
TreeIter iter;
98116
if (listStore1.GetIterFromString(out iter, args.Path))
99117
{
@@ -110,18 +128,22 @@ public CellRendererToggle _mkCellRendererToggle(TreeView treeView, string title
110128
return CellRendererToggle1;
111129
}
112130

113-
public CellRendererProgress _mkCellRendererProgress(TreeView treeView, string title = "", int width = 0,
114-
bool isExpand = false, bool isPackStart = true,bool isAutoSize = false)
131+
public CellRendererProgress _mkCellRendererProgress(TreeView treeView, string title = "" ,
132+
int minWidth = 0 , int maxWidth = 0, bool isExpand = false, bool isPackStart = true,bool isAutoSize = false)
115133
{
116134
if (title != "")
117135
{
118136
this.Title = title;
119137
}
120138

121139
Gtk.CellRendererProgress CellRendererProgress1 = new Gtk.CellRendererProgress();
122-
if (width != 0)
140+
if (minWidth != 0)
123141
{
124-
this.MinWidth = width;
142+
this.MinWidth = minWidth;
143+
}
144+
if (maxWidth != 0)
145+
{
146+
this.MaxWidth = maxWidth;
125147
}
126148

127149
this.Expand = isExpand;
@@ -147,7 +169,7 @@ private void _RenderCellDo(Gtk.TreeViewColumn column, Gtk.CellRenderer cell,
147169
{
148170
if (!(column is TreeViewColumnEx))
149171
{
150-
clsUtility._getProgramLine(" _RenderCellDo ");
172+
Console.WriteLine("_RenderCellDo");
151173
return;
152174
}
153175
TreeViewColumnEx column1 = (column as TreeViewColumnEx);
@@ -158,6 +180,7 @@ private void _RenderCellDo(Gtk.TreeViewColumn column, Gtk.CellRenderer cell,
158180
}
159181
object modelData = (object)model.GetValue(iter, 0);
160182
object value = modelData._performSelector_Property(column1.bindingPropertyName);
183+
161184
_setCellData(value, cell);
162185
}
163186
catch (Exception e)
@@ -182,6 +205,9 @@ private void _setCellData(object value, Gtk.CellRenderer cell)
182205
}else if (value != null && cell is Gtk.CellRendererText && (value is long))
183206
{
184207
(cell as Gtk.CellRendererText).Text = ((long)value).ToString();
208+
}else if (value != null && cell is Gtk.CellRendererText && (value is decimal))
209+
{
210+
(cell as Gtk.CellRendererText).Text = ((decimal)value).ToString();
185211
}
186212
else if (value != null && cell is Gtk.CellRendererText && (value is DateTime))
187213
{
@@ -212,10 +238,15 @@ private void _setCellData(object value, Gtk.CellRenderer cell)
212238
(cell as Gtk.CellRendererProgress).Value = (int)value;
213239
}
214240
}
215-
216241
private void _setModelData(object modelData1, String bindingPropertyName1, String value)
217242
{
218243
Type t = modelData1._getKata(bindingPropertyName1);
244+
245+
if (t.ToString().IndexOf("System.Nullable") != -1)
246+
{
247+
t = Nullable.GetUnderlyingType(t);
248+
}
249+
219250
if (value != null && t.Equals(typeof(String)))
220251
{
221252
modelData1._setSelector_Property(bindingPropertyName1, Convert.ToString(value));

0 commit comments

Comments
 (0)