http://www.mediawiki.org/wiki/Special:Code/MediaWiki/99772
Revision: 99772
Author: inez
Date: 2011-10-14 15:26:11 +0000 (Fri, 14 Oct 2011)
Log Message:
-----------
Working proof of concept code for movin cursor up and down
Modified Paths:
--------------
trunk/parsers/wikidom/lib/synth/views/es.DocumentView.js
trunk/parsers/wikidom/lib/synth/views/es.ListBlockView.js
trunk/parsers/wikidom/lib/synth/views/es.SurfaceView.js
trunk/parsers/wikidom/lib/synth/views/es.TableBlockCellView.js
trunk/parsers/wikidom/lib/synth/views/es.TableBlockRowView.js
trunk/parsers/wikidom/lib/synth/views/es.TableBlockView.js
Modified: trunk/parsers/wikidom/lib/synth/views/es.DocumentView.js
===================================================================
--- trunk/parsers/wikidom/lib/synth/views/es.DocumentView.js 2011-10-14
15:17:15 UTC (rev 99771)
+++ trunk/parsers/wikidom/lib/synth/views/es.DocumentView.js 2011-10-14
15:26:11 UTC (rev 99772)
@@ -87,9 +87,9 @@
return 0;
}
- var blockView;
+ var blockView = this.items[0];
- for ( var i = 0; i < this.items.length; i++ ) {
+ for ( var i = 1; i < this.items.length; i++ ) {
if ( this.items[i].$.offset().top > position.top ) {
break;
}
Modified: trunk/parsers/wikidom/lib/synth/views/es.ListBlockView.js
===================================================================
--- trunk/parsers/wikidom/lib/synth/views/es.ListBlockView.js 2011-10-14
15:17:15 UTC (rev 99771)
+++ trunk/parsers/wikidom/lib/synth/views/es.ListBlockView.js 2011-10-14
15:26:11 UTC (rev 99772)
@@ -74,9 +74,9 @@
return 0;
}
- var listItemView;
+ var listItemView = this.items[0];
- for ( var i = 0; i < this.items.length; i++ ) {
+ for ( var i = 1; i < this.items.length; i++ ) {
if ( this.items[i].$.offset().top > position.top ) {
break;
}
Modified: trunk/parsers/wikidom/lib/synth/views/es.SurfaceView.js
===================================================================
--- trunk/parsers/wikidom/lib/synth/views/es.SurfaceView.js 2011-10-14
15:17:15 UTC (rev 99771)
+++ trunk/parsers/wikidom/lib/synth/views/es.SurfaceView.js 2011-10-14
15:26:11 UTC (rev 99772)
@@ -280,14 +280,37 @@
this.showCursor( this.cursor.offset + 1 );
break;
case 'up':
- var position = this.documentView.getRenderedPosition(
this.cursor.offset );
- position.top--;
- this.showCursor(
this.documentView.getOffsetFromPosition( position ) );
+ var currentOffset = this.cursor.offset;
+ var currentPosition =
this.documentView.getRenderedPosition( currentOffset );
+ var newPosition = new es.Position(currentPosition.left,
currentPosition.top, currentPosition.bottom);
+ var off = -1;
+ var newPosTop = newPosition.top;
+
+ while ( currentPosition.top === newPosition.top && off
!== 0 ) {
+ newPosTop = newPosTop - 10;
+ newPosition.top = newPosTop;
+ off = this.documentView.getOffsetFromPosition(
newPosition );
+ newPosition =
this.documentView.getRenderedPosition( off );
+ }
+ newPosition.left = currentPosition.left;
+ this.showCursor(
this.documentView.getOffsetFromPosition( newPosition ) );
break;
case 'down':
- var position = this.documentView.getRenderedPosition(
this.cursor.offset );
- position.top = position.bottom + 1;
- this.showCursor(
this.documentView.getOffsetFromPosition( position ) );
+ var currentOffset = this.cursor.offset;
+ var currentPosition =
this.documentView.getRenderedPosition( currentOffset );
+ var newPosition = new es.Position(currentPosition.left,
currentPosition.top, currentPosition.bottom);
+ var off = -1;
+ var newPosTop = newPosition.top;
+ var alllength = this.documentView.getLength();
+
+ while ( currentPosition.top === newPosition.top && off
!== alllength ) {
+ newPosTop = newPosTop + 10;
+ newPosition.top = newPosTop;
+ off = this.documentView.getOffsetFromPosition(
newPosition );
+ newPosition =
this.documentView.getRenderedPosition( off );
+ }
+ newPosition.left = currentPosition.left;
+ this.showCursor(
this.documentView.getOffsetFromPosition( newPosition ) );
break;
default:
break;
Modified: trunk/parsers/wikidom/lib/synth/views/es.TableBlockCellView.js
===================================================================
--- trunk/parsers/wikidom/lib/synth/views/es.TableBlockCellView.js
2011-10-14 15:17:15 UTC (rev 99771)
+++ trunk/parsers/wikidom/lib/synth/views/es.TableBlockCellView.js
2011-10-14 15:26:11 UTC (rev 99772)
@@ -71,13 +71,13 @@
var blockView = this.items[0];
- for ( var i = 0; i < this.items.length; i++ ) {
- if ( this.items[i].$.offset().top >= position.top ) {
+ for ( var i = 1; i < this.items.length; i++ ) {
+ if ( this.items[i].$.offset().top > position.top ) {
break;
}
blockView = this.items[i];
}
-
+
return blockView.list.items.offsetOf( blockView ) +
blockView.getOffsetFromPosition( position );
};
Modified: trunk/parsers/wikidom/lib/synth/views/es.TableBlockRowView.js
===================================================================
--- trunk/parsers/wikidom/lib/synth/views/es.TableBlockRowView.js
2011-10-14 15:17:15 UTC (rev 99771)
+++ trunk/parsers/wikidom/lib/synth/views/es.TableBlockRowView.js
2011-10-14 15:26:11 UTC (rev 99772)
@@ -70,9 +70,9 @@
return 0;
}
- var cellView;
+ var cellView = this.items[0];
- for ( var i = 0; i < this.items.length; i++ ) {
+ for ( var i = 1; i < this.items.length; i++ ) {
if ( this.items[i].$.offset().left > position.left ) {
break;
}
Modified: trunk/parsers/wikidom/lib/synth/views/es.TableBlockView.js
===================================================================
--- trunk/parsers/wikidom/lib/synth/views/es.TableBlockView.js 2011-10-14
15:17:15 UTC (rev 99771)
+++ trunk/parsers/wikidom/lib/synth/views/es.TableBlockView.js 2011-10-14
15:26:11 UTC (rev 99772)
@@ -71,9 +71,9 @@
return 0;
}
- var rowView;
+ var rowView = this.items[0];
- for ( var i = 0; i < this.items.length; i++ ) {
+ for ( var i = 1; i < this.items.length; i++ ) {
if ( this.items[i].$.offset().top > position.top ) {
break;
}
_______________________________________________
MediaWiki-CVS mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-cvs