@@ -44,7 +44,7 @@ public ExplorerFormController(IExplorerFormView explorerFormView) {
4444
4545 _view . EventsMenu . Enabled = false ;
4646 _view . PropertiesMenu . Enabled = false ;
47- _view . EnumerationSizesMenu . Enabled = false ;
47+ _view . LimitCollectionSizesMenu . Enabled = false ;
4848
4949 _view . AccessibilityTree . AfterSelect += AccessibilityTreeAfterSelect ;
5050 _view . AccessibilityTree . BeforeExpand += AccessibilityTreeBeforeExpand ;
@@ -92,10 +92,12 @@ public void Initialize() {
9292 _accessBridge . Initilized += ( sender , args ) => {
9393 CreateEventMenuItems ( ) ;
9494 CreatePropertyOptionsMenuItems ( ) ;
95- CreateEnumerationSizesMenuItems ( ) ;
95+ CreateLimitCollectionSizesMenuItems ( ) ;
96+ CreateLimitTextLineCountMenuItems ( ) ;
97+ CreateLimitTextLineLengthsMenuItems ( ) ;
9698 _view . EventsMenu . Enabled = true ;
9799 _view . PropertiesMenu . Enabled = true ;
98- _view . EnumerationSizesMenu . Enabled = true ;
100+ _view . LimitCollectionSizesMenu . Enabled = true ;
99101 LogMessage ( "Ready!" ) ;
100102 } ;
101103
@@ -242,35 +244,67 @@ private void CreatePropertyOptionsMenuItem(FieldInfo field, int index) {
242244 } ;
243245 }
244246
245- private void CreateEnumerationSizesMenuItems ( ) {
247+ private void CreateLimitCollectionSizesMenuItems ( ) {
246248 int index = 0 ;
247- foreach ( var size in new int [ ] { 10 , 20 , 50 , 100 , 250 , 500 , 1000 , 2000 } ) {
248- CreateEnumerationSizesMenuItem ( size , index ) ;
249+ foreach ( var size in new int [ ] { 10 , 20 , 50 , 100 , 250 , 500 , 1000 , 2000 } ) {
250+ char mnemonicCharacter = ( char ) ( 'A' + index ) ;
251+ var text = string . Format ( "&{0} - {1} elements" , mnemonicCharacter , size ) ;
252+ CreateLimitSizeItem ( _view . LimitCollectionSizesMenu , text , index , size ,
253+ _accessBridge . CollectionSizeLimit ,
254+ x => {
255+ _accessBridge . CollectionSizeLimit = x ;
256+ } ) ;
249257 index ++ ;
250258 }
251259 }
252260
253- private void CreateEnumerationSizesMenuItem ( int size , int index ) {
254- // Create menu item (fixed font for alignment)
261+ private void CreateLimitTextLineCountMenuItems ( ) {
262+ int index = 0 ;
263+ foreach ( var size in new int [ ] { 100 , 200 , 300 , 500 , 1000 , 2000 , 5000 } ) {
264+ char mnemonicCharacter = ( char ) ( 'A' + index ) ;
265+ var text = string . Format ( "&{0} - {1} lines" , mnemonicCharacter , size ) ;
266+ CreateLimitSizeItem ( _view . LimitTextLineCountMenu , text , index , size ,
267+ _accessBridge . TextLineCountLimit ,
268+ x => {
269+ _accessBridge . TextLineCountLimit = x ;
270+ } ) ;
271+ index ++ ;
272+ }
273+ }
274+
275+ private void CreateLimitTextLineLengthsMenuItems ( ) {
276+ int index = 0 ;
277+ foreach ( var size in new int [ ] { 40 , 80 , 120 , 160 , 200 , 300 , 400 , 500 , 1000 } ) {
278+ char mnemonicCharacter = ( char ) ( 'A' + index ) ;
279+ var text = string . Format ( "&{0} - {1} characters" , mnemonicCharacter , size ) ;
280+ CreateLimitSizeItem ( _view . LimitTextLineLengthsMenu , text , index , size ,
281+ _accessBridge . TextLineLengthLimit ,
282+ x => {
283+ _accessBridge . TextLineLengthLimit = x ;
284+ } ) ;
285+ index ++ ;
286+ }
287+ }
288+
289+ private static void CreateLimitSizeItem ( ToolStripMenuItem menu , string text , int index , int size , int defaultSize , Action < int > setter ) {
255290 var item = new ToolStripMenuItem ( ) ;
256- char mnemonicCharacter = ( char ) ( index < 10 ? '0' + index : 'A' + index - 10 ) ;
257- item . Text = string . Format ( "&{0} - {1}" , mnemonicCharacter , size ) ;
291+ item . Text = text ;
258292 item . CheckOnClick = false ;
259- item . CheckState = size == 100 ? CheckState . Checked : CheckState . Unchecked ;
260- _view . EnumerationSizesMenu . DropDownItems . Add ( item ) ;
293+ item . CheckState = size == defaultSize ? CheckState . Checked : CheckState . Unchecked ;
294+ menu . DropDownItems . Add ( item ) ;
261295
262296 // Create click handler
263297 item . Click += ( sender , args ) => {
264298 if ( item . Checked )
265299 return ;
266300
267- for ( var i = 0 ; i < _view . EnumerationSizesMenu . DropDownItems . Count ; i ++ ) {
268- var subItem = ( ToolStripMenuItem ) _view . EnumerationSizesMenu . DropDownItems [ i ] ;
301+ for ( var i = 0 ; i < menu . DropDownItems . Count ; i ++ ) {
302+ var subItem = ( ToolStripMenuItem ) menu . DropDownItems [ i ] ;
269303 if ( subItem . Checked )
270304 subItem . Checked = false ;
271305 }
272306 item . Checked = true ;
273- _accessBridge . CollectionSizeLimit = size ;
307+ setter ( size ) ;
274308 } ;
275309 }
276310
0 commit comments