Changeset 41
- Timestamp:
- 03/03/08 08:01:36 (7 months ago)
- Files:
-
- trunk/win32/dfl/listview.d (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
trunk/win32/dfl/listview.d
r12 r41 1909 1909 // TODO: 1910 1910 // itemActivate, itemDrag 1911 //EventHandler selectedIndexChanged;1912 1911 //CancelEventHandler selectedIndexChanging; // ? 1913 1912 … … 1917 1916 //Event!(ListView, ItemCheckEventArgs) itemCheck; /// 1918 1917 Event!(ListView, ItemCheckedEventArgs) itemChecked; /// 1919 1920 1918 Event!(ListView, EventArgs) selectedIndexChanged; /// 1919 1920 1921 /// 1921 1922 protected void onColumnClick(ColumnClickEventArgs ea) 1922 1923 { … … 1947 1948 1948 1949 1950 /// 1949 1951 protected void onItemChecked(ItemCheckedEventArgs ea) 1950 1952 { 1951 1953 itemChecked(this, ea); 1954 } 1955 1956 1957 /// 1958 protected void onSelectedIndexChanged(EventArgs ea) 1959 { 1960 selectedIndexChanged(this, ea); 1952 1961 } 1953 1962 … … 2202 2211 if(-1 != nmlv.iItem) 2203 2212 { 2204 UINT stchg = nmlv.uNewState ^ nmlv.uOldState; 2205 if(stchg & (3 << 12)) 2213 if(nmlv.uChanged & LVIF_STATE) 2206 2214 { 2207 scope ItemCheckedEventArgs ea = new ItemCheckedEventArgs(items[nmlv.iItem]); 2208 onItemChecked(ea); 2215 UINT stchg = nmlv.uNewState ^ nmlv.uOldState; 2216 2217 //if(stchg & LVIS_SELECTED) 2218 { 2219 // Only fire for the selected one; don't fire twice for old/new. 2220 if(nmlv.uNewState & LVIS_SELECTED) 2221 { 2222 onSelectedIndexChanged(EventArgs.empty); 2223 } 2224 } 2225 2226 if(stchg & (3 << 12)) 2227 { 2228 scope ItemCheckedEventArgs ea = new ItemCheckedEventArgs(items[nmlv.iItem]); 2229 onItemChecked(ea); 2230 } 2209 2231 } 2210 2232 }
