func init // adds using namespace sys.add_use('System.Windows.Forms') // initialize instance params = this.props('Constructor').value if(params == 'Constructor') params = '' elseif(params == 'Constructor2') params = '' + d("container") elseif(params == 'Constructor3') params = '' + d("dataSource") + ', ' + d("dataMember") end sys.add_object(this.codename, 'BindingSource', params) // initialize properties if(not isdef("DataSource")) sys.data_source("DataSource") end // makes implementation methods for properties sys._prop_init('AllowEdit', 1, 0, 104) sys._prop_init('AllowNew', 1, 1, 104) sys._prop_init('AllowRemove', 1, 0, 104) sys._prop_init('Count', 1, 0, 1) sys._prop_init('CurrencyManager', 1, 0, 0) sys._prop_init('Current', 1, 0, 0) sys._prop_init('.DataMember', 1, 1, 2) sys._prop_init('.DataSource', 1, 1, 0) sys._prop_init('Filter', 1, 1, 2) sys._prop_init('IsBindingSuspended', 1, 0, 104) sys._prop_init('IsFixedSize', 1, 0, 104) sys._prop_init('IsReadOnly', 1, 0, 104) sys._prop_init('IsSorted', 1, 0, 104) sys._prop_init('IsSynchronized', 1, 0, 104) sys._prop_init('List', 1, 0, 0) sys._prop_init('Position', 1, 1, 1) sys._prop_init('RaiseListChangedEvents', 1, 1, 104) sys._prop_init('.Sort', 1, 1, 2) sys._prop_init('SortDescriptions', 1, 0, 0) sys._prop_init('SortDirection', 1, 0, 0) sys._prop_init('SupportsAdvancedSorting', 1, 0, 104) sys._prop_init('SupportsChangeNotification', 1, 0, 104) sys._prop_init('SupportsFiltering', 1, 0, 104) sys._prop_init('SupportsSearching', 1, 0, 104) sys._prop_init('SupportsSorting', 1, 0, 104) sys._prop_init('SyncRoot', 1, 0, 0) // makes implementation of methods as properties sys._mtd_as_prop_init('AddNew()') sys._mtd_as_prop_init('GetEnumerator()') sys._mtd_as_prop_init('BindingSource') // makes implementation of simple methods sys._method_init('CancelEdit') sys._method_init('Clear') sys._method_init('EndEdit') sys._method_init('MoveFirst') sys._method_init('MoveLast') sys._method_init('MoveNext') sys._method_init('MovePrevious') sys._method_init('RemoveCurrent') sys._method_init('RemoveFilter') sys._method_init('RemoveSort') sys._method_init('ResetCurrentItem') sys._method_init('ResumeBinding') sys._method_init('SuspendBinding') // initialize properties this.init_props(blk_init) end func init_props(blk_out) sys.blk_init_store(blk_out) // initialize properties if(not isdef("DataSource")) blk_init.println(this.codename, ' = new InlineCode', this.id, '.Datatable().DataSource as BindingSource;') end sys.set_typed_field(104, 'AllowNew') sys.set_typed_field(2, 'DataMember') sys.set_typed_field(2, 'Filter') sys.set_typed_field(2, 'Sort') // initialize events if(not (this.onAddingNew == 'defined')) sys.event_imp('onAddingNew', '', '', '', 'Object sender, AddingNewEventArgs args') end sys.event_add('onAddingNew', 'AddingNewEventHandler', '', '', this.codename) if(not (this.onBindingComplete == 'defined')) sys.event_imp('onBindingComplete', '', '', '', 'Object sender, BindingCompleteEventArgs args') end sys.event_add('onBindingComplete', 'BindingCompleteEventHandler', '', '', this.codename) if(not (this.onCurrentChanged == 'defined')) sys.event_imp('onCurrentChanged') end sys.event_add('onCurrentChanged', '', '', '', this.codename) if(not (this.onCurrentItemChanged == 'defined')) sys.event_imp('onCurrentItemChanged') end sys.event_add('onCurrentItemChanged', '', '', '', this.codename) if(not (this.onDataError == 'defined')) sys.event_imp('onDataError', '', '', '', 'Object sender, BindingManagerDataErrorEventArgs args') end sys.event_add('onDataError', 'BindingManagerDataErrorEventHandler', '', '', this.codename) if(not (this.onDataMemberChanged == 'defined')) sys.event_imp('onDataMemberChanged') end sys.event_add('onDataMemberChanged', '', '', '', this.codename) if(not (this.onDataSourceChanged == 'defined')) sys.event_imp('onDataSourceChanged') end sys.event_add('onDataSourceChanged', '', '', '', this.codename) if(not (this.onListChanged == 'defined')) sys.event_imp('onListChanged', '', '', '', 'Object sender, ListChangedEventArgs args') end sys.event_add('onListChanged', 'ListChangedEventHandler', '', '', this.codename) if(not (this.onPositionChanged == 'defined')) sys.event_imp('onPositionChanged') end sys.event_add('onPositionChanged', '', '', '', this.codename) sys.blk_init_restore(blk_out) end func doConstructor() blk.println(this.codename, ' = new BindingSource();') this.init_props(blk) end func doConstructor2(data) blk.println(this.codename, ' = new BindingSource(', d("container"), ');') this.init_props(blk) end func doConstructor3(data) blk.println(this.codename, ' = new BindingSource(', d("dataSource"), ', ', d("dataMember"), ');') this.init_props(blk) end func doAdd(data) if(linked("onAdd")) event("onAdd", this.codename + '.Add(' + d("value") + ')') else blk.println(this.codename, '.Add(', d("value"), ');') end end func doApplySort(data) blk.println(this.codename, '.ApplySort(', d("sorts"), ');') end func doApplySort2(data) blk.println(this.codename, '.ApplySort(', d("property"), ', ', d("sort"), ');') end func doContains(data) if(linked("onContains")) event("onContains", this.codename + '.Contains(' + d("value") + ')') else blk.println(this.codename, '.Contains(', d("value"), ');') end end func doCopyTo(data) blk.println(this.codename, '.CopyTo(', d("arr"), ', ', d("index"), ');') end func doFind(data) if(linked("onFind")) event("onFind", this.codename + '.Find(' + d("prop") + ', ' + d("key") + ')') else blk.println(this.codename, '.Find(', d("prop"), ', ', d("key"), ');') end end func doFind2(data) if(linked("onFind")) event("onFind", this.codename + '.Find(' + d("propertyName") + ', ' + d("key") + ')') else blk.println(this.codename, '.Find(', d("propertyName"), ', ', d("key"), ');') end end func doGetItemProperties(data) if(linked("onGetItemProperties")) event("onGetItemProperties", this.codename + '.GetItemProperties(' + d("listAccessors") + ')') else blk.println(this.codename, '.GetItemProperties(', d("listAccessors"), ');') end end func doGetListName(data) if(linked("onGetListName")) event("onGetListName", this.codename + '.GetListName(' + d("listAccessors") + ')') else blk.println(this.codename, '.GetListName(', d("listAccessors"), ');') end end func doGetRelatedCurrencyManager(data) if(linked("onGetRelatedCurrencyManager")) event("onGetRelatedCurrencyManager", this.codename + '.GetRelatedCurrencyManager(' + d("dataMember") + ')') else blk.println(this.codename, '.GetRelatedCurrencyManager(', d("dataMember"), ');') end end func doIndexOf(data) if(linked("onIndexOf")) event("onIndexOf", this.codename + '.IndexOf(' + d("value") + ')') else blk.println(this.codename, '.IndexOf(', d("value"), ');') end end func doInsert(data) blk.println(this.codename, '.Insert(', d("index"), ', ', d("value"), ');') end func doRemove(data) blk.println(this.codename, '.Remove(', d("value"), ');') end func doRemoveAt(data) blk.println(this.codename, '.RemoveAt(', d("index"), ');') end func doResetBindings(data) blk.println(this.codename, '.ResetBindings(', d("metadataChanged"), ');') end func doResetItem(data) blk.println(this.codename, '.ResetItem(', d("itemIndex"), ');') end func Item return(this.codename && '[' && d('index') && ']') end func doItem(data) blk.println(this.codename, '[', d('index'), '] = ', sys.to_type(data, 0), ';') end