Преглед на файлове

Ted2 cleanups - wordwrap fixes; enter/cancel support for target settings; move targets settings to select target menu

Mark Sibly преди 9 години
родител
ревизия
0e124f3253

+ 7 - 1
src/ted2/assets/newfiles/Simple_Mojo_App.monkey2

@@ -9,10 +9,16 @@ Using mojo..
 
 Class MyWindow Extends Window
 
+	Method New( title:String="Simple mojo app",width:Int=640,height:Int=480,flags:WindowFlags=Null )
+
+		Super.New( title,width,height,flags )
+	End
+
 	Method OnRender( canvas:Canvas ) Override
 	
-		canvas.DrawText( "Hello World",Width/2,Height/2,.5,.5 )
+		App.RequestRender()
 	
+		canvas.DrawText( "Hello World!",Width/2,Height/2,.5,.5 )
 	End
 	
 End

+ 6 - 2
src/ted2/buildactions.monkey2

@@ -66,7 +66,7 @@ Class BuildActions
 		build.Triggered=OnBuild
 		build.HotKey=Key.F6
 		
-		buildSettings=New Action( "Build settings" )
+		buildSettings=New Action( "Target settings" )
 		buildSettings.Triggered=OnBuildFileSettings
 		
 		nextError=New Action( "Next build error" )
@@ -129,6 +129,8 @@ Class BuildActions
 		targetMenu.AddView( _emscriptenTarget )
 		targetMenu.AddView( _androidTarget )
 		targetMenu.AddView( _iosTarget )
+		targetMenu.AddSeparator()
+		targetMenu.AddAction( buildSettings )
 		
 		'check valid targets...WIP...
 		
@@ -323,7 +325,9 @@ Class BuildActions
 		
 		progress.MinSize=New Vec2i( 320,0 )
 		
-		progress.AddAction( "Cancel" ).Triggered=Lambda()
+		Local cancel:=progress.AddAction( "Cancel" )
+		
+		cancel.Triggered=Lambda()
 			_console.Terminate()
 		End
 		

+ 11 - 0
src/ted2/editactions.monkey2

@@ -9,6 +9,7 @@ Class EditActions
 	Field copy:Action
 	Field paste:Action
 	Field selectAll:Action
+	Field wordWrap:Action
 	
 	Method New( docs:DocumentManager )
 	
@@ -31,6 +32,9 @@ Class EditActions
 
 		selectAll=New Action( "Select all" )
 		selectAll.Triggered=OnSelectAll
+		
+		wordWrap=New Action( "Toggle word wrap" )
+		wordWrap.Triggered=OnWordWrap
 	End
 	
 	Method Update()
@@ -90,5 +94,12 @@ Class EditActions
 		
 		If tv tv.SelectAll()
 	End
+	
+	Method OnWordWrap()
+	
+		Local tv:=Cast<TextView>( App.KeyView )
+		
+		If tv tv.WordWrap=Not tv.WordWrap
+	End
 
 End

+ 7 - 5
src/ted2/editproductdialog.monkey2

@@ -91,15 +91,17 @@ Class EditProductDialog Extends Dialog
 		
 		ContentView=_table
 		
-		AddAction( "Okay" ).Triggered=Lambda()
-
+		Local okay:=AddAction( "Okay" )
+		okay.Triggered=Lambda()
 			_result.Set( True )
 		End
-		
-		AddAction( "Cancel"  ).Triggered=lambda()
-			
+		SetKeyAction( Key.Enter,okay )
+
+		Local cancel:=AddAction( "Cancel"  )
+		cancel.Triggered=lambda()
 			_result.Set( False )
 		End
+		SetKeyAction( Key.Escape,cancel )
 	End
 	
 	Method Run:Bool()

+ 7 - 4
src/ted2/gutterview.monkey2

@@ -4,7 +4,9 @@ Namespace ted2
 Class GutterView Extends View
 
 	Method New( textView:TextView )
+	
 		_textView=textView
+		
 		Style.Margin=New Recti( 0,0,8,0 )
 	End
 	
@@ -23,17 +25,18 @@ Class GutterView Extends View
 		
 		canvas.Color=Color.Grey
 		
-		Local lineh:=_textView.LineHeight
 		Local vrect:=_textView.VisibleRect
 		
-		Local firstLine:=vrect.Top/lineh
-		Local lastLine:=Min( (vrect.Bottom-1)/lineh+1,_textView.Document.NumLines )
+		Local firstLine:=_textView.LineAtPoint( vrect.TopLeft )
+		Local lastLine:=_textView.LineAtPoint( vrect.BottomLeft )+1
 		
 		canvas.Translate( 0,-vrect.Top )
 		
 		For Local i:=firstLine Until lastLine
 		
-			canvas.DrawText( i+1,Width,i*lineh,1,0 )
+			Local rect:=_textView.LineRect( i )
+		
+			canvas.DrawText( i+1,Width,rect.Top,1,0 )
 		Next
 		
 	End

+ 2 - 3
src/ted2/mainwindow.monkey2

@@ -71,7 +71,6 @@ Class MainWindowInstance Extends Window
 		_tabMenu.AddAction( _fileActions.saveAs )
 		_tabMenu.AddSeparator()
 		_tabMenu.AddAction( _buildActions.lockBuildFile )
-		_tabMenu.AddAction( _buildActions.buildSettings )
 		
 		_docsTabView.RightClicked+=Lambda()
 			_tabMenu.Open()
@@ -132,9 +131,10 @@ Class MainWindowInstance Extends Window
 		_editMenu.AddAction( _editActions.cut )
 		_editMenu.AddAction( _editActions.copy )
 		_editMenu.AddAction( _editActions.paste )
-		_editMenu.AddSeparator()
 		_editMenu.AddAction( _editActions.selectAll )
 		_editMenu.AddSeparator()
+		_editMenu.AddAction( _editActions.wordWrap )
+		_editMenu.AddSeparator()
 		_editMenu.AddAction( _findActions.find )
 		_editMenu.AddAction( _findActions.findNext )
 		_editMenu.AddAction( _findActions.findPrevious )
@@ -155,7 +155,6 @@ Class MainWindowInstance Extends Window
 		_buildMenu=New Menu( "Build" )
 		_buildMenu.AddAction( _buildActions.buildAndRun )
 		_buildMenu.AddAction( _buildActions.build )
-		_buildMenu.AddAction( _buildActions.buildSettings )
 		_buildMenu.AddSubMenu( _buildActions.targetMenu )
 		_buildMenu.AddSeparator()
 		_buildMenu.AddAction( _buildActions.nextError )

+ 8 - 3
src/ted2/monkey2document.monkey2

@@ -228,7 +228,10 @@ Class Monkey2DocumentView Extends Ted2TextView
 			canvas.Color=New Color( .5,0,0 )
 			
 			For Local err:=Eachin _doc._errors
-				canvas.DrawRect( 0,err.line*LineHeight,Width,LineHeight )
+				Local r:=LineRect( err.line )
+				r.min.x=0
+				r.max.x=Width
+				canvas.DrawRect( r )
 			Next
 			
 		Endif
@@ -239,8 +242,10 @@ Class Monkey2DocumentView Extends Ted2TextView
 			If line<0 Or line>=Document.NumLines Return
 			
 			canvas.Color=New Color( 0,.5,0 )
-			canvas.DrawRect( 0,line*LineHeight,Width,LineHeight )
-			
+			Local r:=LineRect( line )
+			r.min.x=0
+			r.max.x=Width
+			canvas.DrawRect( r )
 		Endif
 		
 		canvas.Color=color

+ 2 - 0
src/ted2/plaintextdocument.monkey2

@@ -16,6 +16,8 @@ Class PlainTextDocumentView Extends TextView
 		CursorColor=New Color( 0,.5,1 )
 
 		SelectionColor=New Color( .4,.4,.4 )
+		
+		WordWrap=True
 	End
 	
 	Private

+ 2 - 2
src/ted2/ted2.monkey2

@@ -48,7 +48,7 @@ Using tinyxml2..
 
 Function Main()
 
-#if __DESKTOP_TARGET__
+#If __DESKTOP_TARGET__
 		
 	ChangeDir( AppDir() )
 	
@@ -62,7 +62,7 @@ Function Main()
 		ChangeDir( ExtractDir( CurrentDir() ) )
 	Wend
 	
-#endif
+#Endif
 	
 	Local jobj:=JsonObject.Load( "bin/ted2.state.json" )
 	If Not jobj jobj=New JsonObject

+ 4 - 0
src/ted2/ted2textview.monkey2

@@ -3,6 +3,10 @@ Namespace ted2
 
 Class Ted2TextView Extends TextView
 
+	Method New()
+		CursorBlinkRate=2.75	'ha! faster than nerobot's!
+	End
+
 	Protected
 	
 	Method OnKeyEvent( event:KeyEvent ) Override