From 86bcde7ec5ae6a7eb6896c23b20fb0983ed2827c Mon Sep 17 00:00:00 2001 From: Armando Rivera Date: Thu, 29 Jul 2021 20:20:52 -0400 Subject: [PATCH] Added examples for groupbox, tabbox, and radiobutton --- examples/groupbox.nim | 24 ++++++++++++++++++++++++ examples/radio.nim | 20 ++++++++++++++++++++ examples/tabbox.nim | 36 ++++++++++++++++++++++++++++++++++++ 3 files changed, 80 insertions(+) create mode 100644 examples/groupbox.nim create mode 100644 examples/radio.nim create mode 100644 examples/tabbox.nim diff --git a/examples/groupbox.nim b/examples/groupbox.nim new file mode 100644 index 0000000..11113cd --- /dev/null +++ b/examples/groupbox.nim @@ -0,0 +1,24 @@ +import Cocoa / [NSFunctions, NSWindow, NSRadioButton, NSLabel, NSContainer, NSTabView] + +const + winStyle = NSWindowStyleMaskTitled or NSWindowStyleMaskClosable + +var win, radio1, radio2, radio3, radioContainer, tab, lbl1: ID + +proc radioCB(sender: ID) {.cdecl.} = + lbl1.text = "Selected: " & $sender.text + +Cocoa_Init() +win = newWindow("NimCocoa Group Box Demo", 300, 200, winStyle) +# tab = newTabBox(win,"First|Second|Third", 10, 10, 280, 160) +# # for x in ["Second", "Third"]: tab.addTab(x) +# tab.addTab("Fourth") + +radioContainer = newContainer(win, "Radio Buttons",20,20,200,120) + +radio1 = newRadioButton(radioContainer,"Radio 1",10,10,100,24,radioCB) +radio2 = newRadioButton(radioContainer,"Radio 2",10,35,100,24,radioCB) +radio3 = newRadioButton(radioContainer,"Radio 3",10,60,100,24,radioCB) +lbl1 = newLabel(win, "Selected: None", 20, 145, 200,24) + +Cocoa_Run(win) \ No newline at end of file diff --git a/examples/radio.nim b/examples/radio.nim new file mode 100644 index 0000000..dddac71 --- /dev/null +++ b/examples/radio.nim @@ -0,0 +1,20 @@ +import Cocoa / [NSFunctions, NSWindow, NSRadioButton, NSLabel, NSContainer, NSTabView] + +const + winStyle = NSWindowStyleMaskTitled or NSWindowStyleMaskClosable + +var win, radio1, radio2, radio3, radioContainer, tab, lbl1: ID + +proc radioCB(sender: ID) {.cdecl.} = + lbl1.text = "Selected: " & $sender.text + +Cocoa_Init() +win = newWindow("NimCocoa Radio Button Demo", 300, 200, winStyle) + + +radio1 = newRadioButton(win,"Radio 1",20,20,100,24,radioCB) +radio2 = newRadioButton(win,"Radio 2",20,45,100,24,radioCB) +radio3 = newRadioButton(win,"Radio 3",20,70,100,24,radioCB) +lbl1 = newLabel(win, "Selected: None", 20, 145, 200,24) + +Cocoa_Run(win) \ No newline at end of file diff --git a/examples/tabbox.nim b/examples/tabbox.nim new file mode 100644 index 0000000..b2f73d8 --- /dev/null +++ b/examples/tabbox.nim @@ -0,0 +1,36 @@ +import Cocoa / [NSFunctions, NSWindow, NSRadioButton, + NSLabel, NSContainer, NSTabView, NSComboBox] + +const + winStyle = NSWindowStyleMaskTitled or NSWindowStyleMaskClosable + +var win, radio1, radio2, radio3, radioContainer, tab, lbl1: ID +var cbo: ID + +proc radioCB(sender: ID) {.cdecl.} = + lbl1.text = "Selected: " & $sender.text + +proc comboCB(sender: ID) {.cdecl.} = + lbl1.text = "Selected: " & $sender.text + +Cocoa_Init() +win = newWindow("NimCocoa Group Box Demo", 400, 200, winStyle) +tab = newTabBox(win,"First|Second|Third", 10, 10, 380, 160) +# # for x in ["Second", "Third"]: tab.addTab(x) +# tab.addTab("Fourth") + +# radioContainer = newContainer(win, "Radio Buttons",20,20,200,120) +var tvitem = tab.getTab("First") +radio1 = newRadioButton(tvitem,"Radio 1",10,10,100,24,radioCB) +radio2 = newRadioButton(tvitem,"Radio 2",10,35,100,24,radioCB) +radio3 = newRadioButton(tvitem,"Radio 3",10,60,100,24,radioCB) + +lbl1 = newLabel(win, "Selected: None", 20, 170, 200,24) + +tvitem = tab.getTab("Second") +cbo = newComboBox(tvitem,10,10,200,26, comboCB) +for x in ["Apples","Oranges","Peaches"]: cbo.add(x) +cbo.text = "Apples" + + +Cocoa_Run(win) \ No newline at end of file