Platforms to show: All Mac Windows Linux Cross-Platform

/MacControls/TextView advanced


Required plugins for this example: MBS MacFrameworks Plugin, MBS MacCocoa Plugin, MBS MacBase Plugin, MBS Main Plugin, MBS MacControls Plugin

You find this example project in your Plugins Download as a Xojo project file within the examples folder: /MacControls/TextView advanced

This example is the version from Sun, 14th Apr 2012.

Project "TextView advanced.xojo_binary_project"
Class App Inherits Application
Const kEditClear = "&Delete"
Const kFileQuit = "&Quit"
Const kFileQuitShortcut = ""
End Class
Class Window1 Inherits Window
Control CocoaControlMBS1 Inherits CocoaControlMBS
ControlInstance CocoaControlMBS1 Inherits CocoaControlMBS
EventHandler Function GetView() As NSViewMBS scrollview=new NSScrollViewMBS(0,0,me.Width,me.Height) textview=new NSTextViewMBS(0,0,me.Width,me.Height) textview.ContinuousSpellCheckingEnabled=true textview.allowsUndo=true // tell it how the resize is going textview.autoresizingMask=textview.NSViewHeightSizable+textview.NSViewWidthSizable scrollview.documentView=textview scrollview.hasVerticalScroller=true scrollview.hasHorizontalScroller=True Return scrollview End EventHandler
End Control
Control PushButton1 Inherits PushButton
ControlInstance PushButton1 Inherits PushButton
EventHandler Sub Action() dim f as FolderItem = GetOpenFolderItem(FileTypes1.ApplicationRtf) if f = nil then Return dim d as Dictionary dim a as NSAttributedStringMBS = NSAttributedStringMBS.attributedStringWithPath(f, d) if a<>Nil then DocumentAttributes = d textView.textStorage.setAttributedString a else MsgBox "Failed to read file." end if End EventHandler
End Control
Control PushButton2 Inherits PushButton
ControlInstance PushButton2 Inherits PushButton
EventHandler Sub Action() dim f as FolderItem = GetOpenFolderItem(FileTypes1.ApplicationMsword) if f = nil then Return dim d as Dictionary dim a as NSAttributedStringMBS = NSAttributedStringMBS.attributedStringWithPath(f, d) if a<>Nil then DocumentAttributes = d textView.textStorage.setAttributedString a else MsgBox "Failed to read file." end if End EventHandler
End Control
Control PushButton3 Inherits PushButton
ControlInstance PushButton3 Inherits PushButton
EventHandler Sub Action() dim f as FolderItem = GetSaveFolderItem(FileTypes1.ApplicationRtf, "test.rtf") if f = nil then Return dim a as NSAttributedStringMBS = textView.textStorage dim data as string = a.RTFFromRange(0, a.length, DocumentAttributes) dim b as BinaryStream = BinaryStream.Create(f, true) b.Write data End EventHandler
End Control
Control PushButton4 Inherits PushButton
ControlInstance PushButton4 Inherits PushButton
EventHandler Sub Action() dim f as FolderItem = GetSaveFolderItem(FileTypes1.ApplicationMsword, "test.doc") if f = nil then Return dim a as NSAttributedStringMBS = textView.textStorage dim data as string = a.docFormatFromRange(0, a.length, DocumentAttributes) dim b as BinaryStream = BinaryStream.Create(f, true) b.Write data End EventHandler
End Control
Control PushButton5 Inherits PushButton
ControlInstance PushButton5 Inherits PushButton
EventHandler Sub Action() dim f as FolderItem = GetOpenFolderItem(FileTypes1.TextHtml) if f = nil then Return dim d as Dictionary dim a as NSAttributedStringMBS = NSAttributedStringMBS.attributedStringWithPath(f, d) if a<>Nil then DocumentAttributes = d textView.textStorage.setAttributedString a else MsgBox "Failed to read file." end if End EventHandler
End Control
Control PushButton6 Inherits PushButton
ControlInstance PushButton6 Inherits PushButton
EventHandler Sub Action() dim f as FolderItem = GetSaveFolderItem(FileTypes1.TextHtml, "test.html") if f = nil then Return dim a as NSAttributedStringMBS = textView.textStorage dim data as string = a.htmlString dim b as BinaryStream = BinaryStream.Create(f, true) b.Write data End EventHandler
End Control
Control PushButton7 Inherits PushButton
ControlInstance PushButton7 Inherits PushButton
EventHandler Sub Action() dim f as FolderItem = GetOpenFolderItem(FileTypes1.ApplicationRtf) if f = nil then Return dim a as NSAttributedStringMBS = NSAttributedStringMBS.attributedStringWithPath(f) if a<>Nil then textView.insertText a else MsgBox "Failed to read file." end if End EventHandler
End Control
Control PushButton8 Inherits PushButton
ControlInstance PushButton8 Inherits PushButton
EventHandler Sub Action() dim f as FolderItem = GetOpenFolderItem(FileTypes1.ApplicationMsword) if f = nil then Return dim a as NSAttributedStringMBS = NSAttributedStringMBS.attributedStringWithPath(f) if a<>Nil then textView.insertText a else MsgBox "Failed to read file." end if End EventHandler
End Control
Control PushButton9 Inherits PushButton
ControlInstance PushButton9 Inherits PushButton
EventHandler Sub Action() dim f as FolderItem = GetOpenFolderItem(FileTypes1.TextHtml) if f = nil then Return dim a as NSAttributedStringMBS = NSAttributedStringMBS.attributedStringWithPath(f) if a<>Nil then textView.insertText a else MsgBox "Failed to read file." end if End EventHandler
End Control
Control PushButton10 Inherits PushButton
ControlInstance PushButton10 Inherits PushButton
EventHandler Sub Action() dim f as FolderItem = GetOpenFolderItem(FileTypes1.Text) if f = nil then Return dim d as Dictionary dim a as NSAttributedStringMBS = NSAttributedStringMBS.attributedStringWithPath(f, d) if a<>Nil then DocumentAttributes = d textView.textStorage.setAttributedString a else MsgBox "Failed to read file." end if End EventHandler
End Control
Control PushButton11 Inherits PushButton
ControlInstance PushButton11 Inherits PushButton
EventHandler Sub Action() dim f as FolderItem = GetSaveFolderItem(FileTypes1.Text, "test.txt") if f = nil then Return dim a as NSAttributedStringMBS = textView.textStorage dim data as string = a.text dim b as BinaryStream = BinaryStream.Create(f, true) b.Write data End EventHandler
End Control
Control PushButton12 Inherits PushButton
ControlInstance PushButton12 Inherits PushButton
EventHandler Sub Action() dim f as FolderItem = GetOpenFolderItem(FileTypes1.Text) if f = nil then Return dim a as NSAttributedStringMBS = NSAttributedStringMBS.attributedStringWithPath(f) if a<>Nil then textView.insertText a else MsgBox "Failed to read file." end if End EventHandler
End Control
EventHandler Sub Open() if not CocoaControlMBS1.Available then MsgBox "This example requires Mac OS X 10.5." quit end if End EventHandler
Property DocumentAttributes As Dictionary
Property scrollview As nsscrollViewMBS
Property textView As NSTextViewMBS
End Class
MenuBar MenuBar1
MenuItem FileMenu = "&File"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Edit"
MenuItem EditUndo = "&Undo"
MenuItem UntitledMenu1 = "-"
MenuItem EditCut = "Cu&t"
MenuItem EditCopy = "&Copy"
MenuItem EditPaste = "&Paste"
MenuItem EditClear = "#App.kEditClear"
MenuItem UntitledMenu0 = "-"
MenuItem EditSelectAll = "Select &All"
End MenuBar
FileTypes1
Filetype application/msword
Filetype application/rtf
Filetype text/html
Filetype text/plain
End FileTypes1
End Project

See also:

The items on this page are in the following plugins: MBS MacControls Plugin.


The biggest plugin in space...