-
Notifications
You must be signed in to change notification settings - Fork 4
TableView Object
Armando Rivera edited this page Aug 11, 2021
·
9 revisions
import Cocoa #/ [NSWindow, NSFunctions, NSButton, NSTableView, NSSaveDialog, NSOpenDialog]
var win, btnLoad, btnSave, tView:ID
proc btnCallback(sender: ID) {.cdecl.} =
# discard
if sender == btnSave:
let fName = newSaveDialog(win, "Save Database","ndb")
if fName.len > 0:
tView.saveTableView(fName)
else:
let fName = newOpenDialog(win,"ndb")
if fName.len > 0:
tView.loadTableView(fName)
const
winStyle = NSWindowStyleMaskTitled or NSWindowStyleMaskClosable
Cocoa_Init()
win = newWindow("TableView Demo", 600, 400, winStyle)
tView= newTableview(win, 20,20,560, 300)
for x in ["Name", "Age", "Gender"]:
tView.addColumn(x)
for x in ["Ryan Gosling|40|Male","Serena Williams|39|Female"]:
tView.addRow(x)
btnLoad = newButton(win, "Load", 20, 360, 82,22,btnCallback)
btnSave = newButton(win, "Save", 112, 360, 82,22, btnCallback)
Cocoa_Run(win)
proc newTableview*(parent: ID, left, top, width, height: cint): ID
proc addColumn*(parent: ID, name: cstring)
proc addRow*(parent: ID, person: cstring)
proc saveTableView*(tview: ID, path: cstring)
proc loadTableView*(tview: ID, path: cstring)