Skip to content

TableView Object

Armando Rivera edited this page Aug 11, 2021 · 9 revisions

Tableview Object

Example:

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)

NSTableview

proc newTableview*(parent: ID, left, top, width, height: cint): ID

Creates New TableView


addColumn

proc addColumn*(parent: ID, name: cstring) 

Adds a new Table Column


addRow

proc addRow*(parent: ID, person: cstring)

Adds a Row to the TableView


saveTableView

proc saveTableView*(tview: ID, path: cstring)

Saves TableView contents to a file


loadTableView

proc loadTableView*(tview: ID, path: cstring) 

Loads TableView Contents from a file