Xojo Conferences

Platforms to show: All Mac Windows Linux Cross-Platform

/MacCocoa/PDFKit/PDFView/PDFView customized
Required plugins for this example: MBS MacBase Plugin, MBS MacCocoa Plugin, MBS MacControls Plugin, MBS MacFrameworks Plugin, MBS Main Plugin
You find this example project in your Plugins Download as a Xojo project file within the examples folder: /MacCocoa/PDFKit/PDFView/PDFView customized
This example is the version from Thu, 6th Apr 2016.
Project "PDFView customized.rbp"
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 dim file as FolderItem = FindFile("Castles.pdf") dim doc as PDFDocumentMBS = new PDFDocumentMBS(file) n=new MyPDFView(0,0,me.Width,me.Height) n.document = doc Return n End EventHandler
End Control
Control StaticText1 Inherits Label
ControlInstance StaticText1 Inherits Label
End Control
EventHandler Sub Open() if not CocoaControlMBS1.Available then MsgBox "This example requires Mac OS X 10.5." quit end if End EventHandler
Function FindFile(name as string) As FolderItem // Look for file in parent folders from executable on dim parent as FolderItem = app.ExecutableFile.Parent while parent<>Nil dim file as FolderItem = parent.Child(name) if file<>Nil and file.Exists then Return file end if parent = parent.Parent wend End Function
Property n As PDFViewMBS
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
Class MyPDFView Inherits CustomPDFViewMBS
EventHandler Sub AfterDrawPagePost(graphics as NSGraphicsMBS, page as PDFPageMBS) graphics.saveGraphicsState dim p1 as new NSRectMBS(0,0,50,50) dim p2 as NSRectMBS = self.convertRectFromPage(p1, page) dim p3 as NSRectMBS = self.convertRectToView(p2, self.documentView) 'System.DebugLog str(p2.x)+" "+str(p2.y) 'System.DebugLog str(p3.x)+" "+str(p3.y) graphics.SetColorRGB(1.0,0,0) graphics.fillRect(p3.X, p3.Y, p3.Width, p3.Height) Exception n as NSExceptionMBS System.DebugLog n.message Finally graphics.restoreGraphicsState End EventHandler
End Class
End Project

See also:

Feedback, Comments & Corrections

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

MBS Xojo Chart Plugins