@@ -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