func init // adds using namespace sys.add_use('GongSolutions.Shell') // adds widget assembly sys.add_assembly('GongShell', 'GongShell.dll') // add widget sys.add_widget('ShellView') // initialize properties if(not isdef('CurrentFolder')) blk_init.println(this.codename, '.CurrentFolder = new ShellItem(', d("CurrentFolder"), ');') end sys.set_typed_field(104, 'MultiSelect') sys.set_typed_field(104, 'ShowWebView') sys.set_typed_field(20, 'StatusBar') sys.set_typed_field(14, 'View', '', 'ShellViewStyle') // makes implementation of methods as properties sys._mtd_as_prop_init('ShellView') // make methods for properties sys._prop_init('CanCreateFolder', 1, 0, 104) sys._prop_init('CanNavigateBack', 1, 0, 104) sys._prop_init('CanNavigateForward', 1, 0, 104) sys._prop_init('CanNavigateParent', 1, 0, 104) sys._prop_init('ComInterface', 1, 0, 0) sys._prop_init('History', 1, 0, 0) sys._prop_init('SelectedItems', 1, 0, 0) sys._prop_init('MultiSelect', 1, 1, 104) sys._prop_init('ShowWebView', 1, 1, 104) sys._prop_init('StatusBar', 1, 1, 0) sys._prop_init('View', 1, 1, 0) // makes implementation of simple methods sys._method_init('CreateNewFolder') sys._method_init('NavigateSelectedFolder') sys._method_init('RefreshContents') sys._method_init('RenameSelectedItem') // initialize events sys.event_imp('onFilterItem', '', '', '', 'Object sender, FilterItemEventArgs args') sys.event_add('onFilterItem', 'FilterItemEventHandler') sys.event_imp('onNavigated') sys.event_add('onNavigated') sys.event_imp('onNavigating', '', '', '', 'Object sender, NavigatingEventArgs args') sys.event_add('onNavigating', 'NavigatingEventHandler') sys.event_imp('onSelectionChanged') sys.event_add('onSelectionChanged') // initialize common events and properties include("Control-init") end func doNavigate(data) blk.println(this.codename, '.Navigate(', d("Path"), ');') end func doNavigateBack() blk.println('if (', this.codename, '.CanNavigateBack)').inc() .println(this.codename, '.NavigateBack();').dec() end func doNavigateForward() blk.println('if (', this.codename, '.CanNavigateForward)').inc() .println(this.codename, '.NavigateForward();').dec() end func doNavigateParent() blk.println('if (', this.codename, '.CanNavigateParent)').inc() .println(this.codename, '.NavigateParent();').dec() end func doNextViewMode() blk.println('int mode = (int)', this.codename, '.View;') .println('if (++mode > 7)').inc() .println('mode = 1;').dec() .println(this.codename, '.View = (ShellViewStyle)mode;') end func doCurrentFolder(data) blk.println(this.codename, '.CurrentFolder = new ShellItem(', d("CurrentFolder"), ');') end func CurrentFolder return(this.codename + '.CurrentFolder.FileSystemPath') end include("Control")