Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/pynxc/waxy/demos/Grid.py
diff options
context:
space:
mode:
Diffstat (limited to 'pynxc/waxy/demos/Grid.py')
-rwxr-xr-xpynxc/waxy/demos/Grid.py66
1 files changed, 66 insertions, 0 deletions
diff --git a/pynxc/waxy/demos/Grid.py b/pynxc/waxy/demos/Grid.py
new file mode 100755
index 0000000..833d57d
--- /dev/null
+++ b/pynxc/waxy/demos/Grid.py
@@ -0,0 +1,66 @@
+#!/usr/bin/env python
+
+from waxy import *
+
+class MainFrame(VerticalFrame): # frame has a sizer built in
+
+ def Body(self):
+
+
+ self.CreateStatusBar()
+ self.SetStatusText("This is the statusbar")
+
+ menubar = MenuBar(self)
+ menu1 = Menu(self)
+ menu1.Append("E&xit", self.CloseWindow, "Exit demo",hotkey="Ctrl+Q")
+ menubar.Append(menu1, "&File")
+
+
+ self.cellbox=TextBox(self)
+ self.AddComponent(self.cellbox,border=10,stretch=True)
+ self.cellbox.OnChar=self.EditCell
+
+ self.grid = Grid(self,100,40)
+ self.AddComponent(self.grid,border=10,expand='both')
+ self.grid.OnSelectCell=self.OnSelectCell
+
+ self.Pack()
+ self.SetSize((1000, 800))
+
+ self.CenterOnScreen()
+
+ self.Show()
+ self.grid.SetFocus()
+ self.cellbox.SetValue(self.grid[0,0])
+
+ def EditCell(self,event):
+
+ if event.KeyCode>0 and event.KeyCode<255: # a character
+
+ v=self.cellbox.GetValue()
+ r,c=self.grid.GetGridCursorRow(),self.grid.GetGridCursorCol()
+
+
+ if event.KeyCode==13: # return
+ self.grid[r,c]=v
+ self.grid.SetFocus()
+ elif event.KeyCode==27: # escape
+ self.cellbox.SetValue("")
+ self.grid.SetFocus()
+
+ event.Skip()
+
+
+ def CloseWindow(self,event):
+ self.Close()
+
+ def OnSelectCell(self,event):
+ r,c=event.Row,event.Col
+ self.cellbox.SetValue(self.grid[r,c])
+ event.Skip()
+
+
+
+if __name__=="__main__":
+ app = Application(MainFrame, title="Grid")
+ app.Run()